こんにちはゲストさん(ログインはこちら) | 読書ログ - 読書ファンが集まる読書レビューサイト →会員登録(無料)

ハッカーのたのしみ

本物のプログラマはいかにして問題を解くか
5.0 5.0 (レビュー1件)
カテゴリー: 情報科学
定価: 3,570 円

超A級プログラマの秘密の「技」を公開。

いいね!

    「ハッカーのたのしみ」 の読書レビュー (最新順)

    最新のレビュー順 | 人気のレビュー順
    すべてのレビューとコメントを開く
    • 評価: 5.0

      ハッキングのテクニックを紹介しているようなネガティブなイメージをもたれがちのタイトルですが、著者はIBMで40年以上コンパイラやスーパーコンピュータの開発に携わった最上級プログラマ。

      メモリやCPUの命令数を最小にするためのノウハウが詰まっており。衝撃を受けました。

      ただ、普通のプログラマ・SEがプログラムの勉強をするためにはお勧めできません。
      職業プログラマでは速度よりも理解しやすさ・メンテナンスのしやすさの方を選択する場面が圧倒的に多いため、OS開発、ライブラリ開発、コンパイラ開発、信号処理プログラミング等、絶対的な速度を求められるドメインでなければ、本著のテクニックをつかったコーディングをしていたらコードレビューで書き直されること請け合い。
      また最低でもアセンブラが読めること。RISCアーキテクチャの基本を理解していることなどが前提。

      仕事抜きでプログラムが楽しいと感じる人・情熱を持っている人にはお勧め。
      日常の業務で使わなくても、本著の内容を理解しておけば自分のプログラムがどのような命令数(アセンブラ)に置き換えられるかレジスタ・スタックを使うかの想像力が鍛えられます。

      どんな内容か一例を紹介・・・
      変数のビットが立っている数をカウントするプログラム。
      ------------
      // 一般的なプログラマ
      int bitCount(int i) {
       int count=0;
       int mask;
       for( mask=1; mask!=0 ; mask=mask<<1 ){
        if(i&mask) count++;
       }
       return count;
      }
      ------------
      // 本著
      int bitCount(int i) {
       i = (i & 0x55555555) + (i >> 1 & 0x55555555);
       i = (i & 0x33333333) + (i >> 2 & 0x33333333);
       i = (i & 0x0f0f0f0f) + (i >> 4 & 0x0f0f0f0f);
       i = (i & 0x00ff00ff) + (i >> 8 & 0x00ff00ff);
       return (i & 0x0000ffff) + (i >>16 & 0x0000ffff);
      }
      ------------
      loop、条件分岐を除外してますが、同じ結果が得られます。もちろん圧倒的に速い。
      ちなみにJavaのInteger.bitCount()もほぼ同様の実装になっているらしい。
      >> 続きを読む

      2012/06/04 by

      ハッカーのたのしみ」のレビュー

    • むぅ。自分が一般的なプログラマだということがわかりました...

      > OS開発、ライブラリ開発、コンパイラ開発、信号処理プログラミング等、絶対的な速度を求められるドメインでなければ、本著のテクニックをつかったコーディングをしていたらコードレビューで書き直されること請け合い。

      おっしゃる通り、このコードをレビュしたら可読性について小一時間指導する気がします(笑)

      ただ、知識として持って置くことは非常に重要ですし何よりも探究心を失っては良い仕事ができない職種だと思います。
      >> 続きを読む

      2012/06/05 by ice

    • 天才プログラマーと呼ばれる人たちの天才たる所以が判りますね。
      私も一般的なプログラマだと痛感。でも一般的なプログラマもコンパイラやライブラリで恩恵を受けているのだなと思い感謝です。

      たまにこの本のテクニックを使いたくなる誘惑にかられますが後々の事を考えて自制しています:-)

      >> 続きを読む

      2012/06/06 by ybook


    最近この本を本棚に追加した会員

    この本に関連したオススメの本

    取得中です。しばらくお待ちください。

    ハッカーノタノシミ ホンモノノプログラマワイカニシテモンダイオトクカ
    はっかーのたのしみ ほんもののぷろぐらまわいかにしてもんだいおとくか

    ハッカーのたのしみ - 本物のプログラマはいかにして問題を解くか | 読書ログ

    会員登録(無料)

    今月の課題図書
    読書ログってこんなサービス
    映画ログはこちら
    読書ログさんの本棚

    レビューのある本

    最近チェックした本