タグ

ブックマーク / blog-ja.intransient.info (2)

  • Success is a Journey, not a Destination: 世界の貧困についての 3 つの都市伝説 by Bill & Melinda Gates [翻訳]

    (原文は "Three Myths on the World's Poor") どのような基準で見ても、世界は今までのどの時代よりも豊かになっている。極度の貧困はここ 25 年で半分に減ったし、子供の死亡率は急落しているし、海外からの援助に依存していた多くの国は今や自給自足できている。 それなのに、世の中は悪くなっていると考える人が多いのはなぜだろう? 多くの人々が、世界の貧困と開発についての 3 つの有害な都市伝説に捉われているからだ。都市伝説に騙されないように! 都市伝説 1: 貧しい国は貧しいままの運命にある そんなことは全くない。所得をはじめ社会福祉を測る指標は、ほとんど至る所で向上している。もちろんアフリカでも。 メキシコシティを例にとってみよう。1987 年に私たちが初めて訪れたとき、ほとんどの家には水道水が無かったし、いっぱいにした水おけを徒歩で運んでいる人をたくさん見た。ア

  • Success is a Journey, not a Destination: 全てのCプログラマが未定義な振る舞いについて知っておくべきこと #1/3

    [What Every C Programmer Should Know About Undefined Behavior #1/3 の翻訳です。] LLVMでコンパイルしたコードは、最適化を有効にしているとたまにSIGTRAPシグナルを生成するのはなぜなのか、と聞かれることがある。いろいろ調べたあと、(X86での話だが) Clangは "ud2" インストラクションを生成していたことがわかった。"ud2" は__builtin_trap()が生成するインストラクションと同じものだ。[訳注: #UD例外を発生させる命令。ソフトウェアが#UD例外をハンドルできているかテストするために使われる。つまり、ソースコードが未定義な振る舞いを使っていたから、LLVMはud2インストラクションを生成したのであって、LLVMのバグではない、ということ] こういう問題は幾つかあって、すべて、Cの未定義な振る

    nminoru
    nminoru 2011/07/21
  • 1