Write Great Code〈Vol.1〉 プレミアムブックス版 ハードウェアを知り、ソフトウェアを書く

  • mixiチェック
  • このエントリーをはてなブックマークに追加

内容紹介

「グレートコード」を書こうとする、すべてのプログラマーのために。

『Write Great Code』は、自慢できるコード、ほかのプログラマーを感動させるコード、顧客を満足させユーザーに気に入られるコード、人々(顧客、上司、その他)が手に入れるために最高額を支払うことを厭わないコード、そうしたコード――つまり「グレートコード」を書くための方法を伝授するものです。ほかのプログラマーに畏敬の念を起こさせるソフトウェア、伝説に残るようなソフトウェアをいかに書くかがテーマです。

第1巻となる本書では、コンピュータサイエンスや工学の教育課程でも表面的にしか扱われないことが多いコンピュータの低レベルで詳細な事柄について、アセンブリ言語だけでなく、C/C++、VB、Pascal(Delphi/Kylix)、Javaなどの高級言語を使って、詳細に解説しています。

効率の良いコードを書くためにはコンピュータシステムがプログラムをどのように実行するか、またプログラミング言語の抽象概念がマシンの低レベルハードウェア機能にどのようにマッピングされるかを理解しておく必要があります。現在のコンピュータの仕組みをできるだけ効率的に利用する方法を学ぶために、ハードウェア構成を含むコンピュータアーキテクチャの中でプログラマーから見える部分、つまり「システム設計者が特定のシステム設計を選んだ理由」がよく理解できる部分を解説し、ハードウェアリソースをうまく利用するソフトウェアをどのようにして書けばよいのかを示します。

本書に寄せられた賞賛の言葉です。

「正規のトレーニングを受ける機会がないままプログラミングをしている人や、良き指導者に恵まれていない人なら、Randall Hydeの『Write Great Code』シリーズに興味をかき立てられることだろう……最初の5つの章とブール論理の章は、本書を購入するに値する内容である。」
――UNIX REVIEW

「多くのプログラマーが当たり前と考えていることを詳しく説明している。」
――COMPUTER SHOPPER(UK)

「とても楽しく読める。」
――VSJ MAGAZINE

「入門者向けではなく、コンピュータの最も奥深くの仕組みを非常に複雑なレベルで詳細に説明している。そのレベルで仕事をすることに興味があるプログラマーにはとても役立つだろう。」
――SECURITYITWORLD.COM

「欠けていた部分をきちんと埋めており、コンピュータサイエンスの学位取得の必読書にもなり得る。……本書を読み終えると、効率的に書かれたコードに対する理解と認識が深まるだけでなく、自らもそれを実践するだけの知識が身に付くだろう。」
――MACCOMPANION(本書に満点の5つ星の評価を与えた)

「いかなる言語であれ、アセンブリ言語を習得することなくグレートコードを書きたいと望んでいるなら、『Write Great Code~ハードウェアを知り、ソフトウェアを書く』を必読書に加えるべきである。」
――WEBSERVERTALK

「Hydeは、すべての開発の中核に常に位置しているテーマ、すなわちコンピュータアーキテクチャの基礎という問題に取り組んでいる。」
――PRACTICAL APPLICATIONS

「よくある『プログラミングの独習書』ではない。……すべての言語、およびすべてのレベルのプログラミング経験とつながりがある。……ぐずぐずせずに今すぐ買って読むべき本である。」
――BAY AREA LARGE INSTALLATION SYSTEM ADMINISTRATORS(BAYLISA)

本書は、『Write Great Code〈Vol.1〉』(2006年1月日本語版刊行)の復刊です。

●立ち読みページはこちら → 立ち読みページ

続きを読む

商品を選択する

フォーマット 価格 備考
書籍(受注生産) 7,344 受注生産のため、決済完了から約10日後の発送となります。
PDF 5,141 ※2015/03/05:ファイルを更新(しおり情報)しました。購入済みの方はマイページから再ダウンロードをお願いします。
※ご購入後、「マイページ」からファイルをダウンロードしてください。
※ご購入された電子書籍には、購入者情報、および暗号化したコードが埋め込まれております。
※購入者の個人的な利用目的以外での電子書籍の複製を禁じております。無断で複製・掲載および販売を行った場合、法律により罰せられる可能性もございますので、ご遠慮ください。

電子書籍フォーマットについて

  

備考

Randall Hyde
『The Art of Assembly Language』(No Starch Press)の著者で、同書はアセンブラ言語に関する書籍として最も推奨できるものの1つである。
また共著に『The Waite Group's MASM 6.0 Bible』がある。専門誌のほか『Dr. Dobb's Journal』『Byte』にも執筆している。他の著書に『Write Great Code〈Vol.2〉 低いレベルで考え、高いレベルで書く』(マイナビ)。

目次

第 1 章 グレートコードを書くために知っておくべきこと
 1.1 『Write Great Code』シリーズ
 1.2 この巻で扱う内容
 1.3 この巻が前提としていること
 1.4 グレートコードを特徴付けるもの
 1.5 この巻で使用する環境
 1.6 さらなる知識のために
 
第 2 章 数値表現
 2.1 数値とは
 2.2 記数法
 2.3 数値と文字列の変換
 2.4 数値の内部表現
 2.5 符号付きの数値と符号なしの数値
 2.6 2進値の便利な特性
 2.7 符号拡張、ゼロ拡張、縮小
 2.8 飽和
 2.9 BCD表現
 2.1 固定小数点表現
 2.11 スケール変位形式
 2.12 有理表現
 2.13 さらなる知識のために
 
第 3 章 2進数の算術演算とビット演算
 3.1 2進数と16進数に対する算術演算
 3.2 ビットに対する論理演算
 3.3 2進数値とビット列に対する論理演算
 3.4 有益なビット演算
 3.5 シフトとローテート
 3.6 ビットフィールドとデータのパック
 3.7 データのパックとアンパック
 3.8 さらなる知識のために
 
第 4 章 浮動小数点表現
 4.1 浮動小数点演算の概要
 4.2 IEEE浮動小数点形式
 4.3 正規化と非正規化値
 4.4 丸め
 4.5 特殊な浮動小数点数値
 4.6 浮動小数点の例外
 4.7 浮動小数点演算
 4.8 さらなる知識のために
 
第 5 章 文字表現
 5.1 文字データ
 5.2 文字列
 5.3 文字セット
 5.4 独自の文字セットの設計
 5.5 さらなる知識のために
 
第 6 章 メモリの構成とアクセス
 6.1 基本システムコンポーネント
 6.2 メモリの物理的な構成
 6.3 ビッグエンディアンとリトルエンディアンの構成
 6.4 システムクロック
 6.5 CPUによるメモリアクセス
 6.6 さらなる知識のために
 
第 7 章 複合データ型とメモリオブジェクト
 7.1 ポインタ型
 7.2 配列
 7.3 レコード/構造体
 7.4 判別共用体
 7.5 さらなる知識のために
 
第 8 章 ブール論理とデジタル設計
 8.1 ブール代数
 8.2 ブール関数と真理値表
 8.3 関数番号
 8.4 ブール式の代数操作
 8.5 標準形
 8.6 ブール関数の簡約化
 8.7 コンピュータとの関係
 8.8 さらなる知識のために
 
第 9 章 CPUアーキテクチャ
 9.1 CPUの基本的な設計
 9.2 命令のデコードと実行:ランダムロジックとマイクロコード
 9.3 命令の実行
 9.4 並列化—処理を高速化する鍵
 9.5 さらなる知識のために
 
第 10 章 命令セットアーキテクチャ
 10.1 命令セットの設計の重要性
 10.2 基本的な命令の設計目標
 10.3 Y86仮想プロセッサ
 10.4 80x86の命令のエンコード
 10.5 プログラマーにとって命令セット設計が意味するもの
 10.6 さらなる知識のために
 
第 11 章 メモリのアーキテクチャと構成
 11.1 メモリ階層
 11.2 メモリ階層の動作方法
 11.3 メモリサブシステムの相対的なパフォーマンス
 11.4 キャッシュのアーキテクチャ
 11.5 仮想メモリ、保護、ページング
 11.6 スラッシング
 11.7 NUMAと周辺機器
 11.8 メモリ階層を意識したソフトウェアの作成
 11.9 実行時のメモリ構成
 11.1 さらなる知識のために
 
第 12 章 入力と出力(I/O)
 12.1 CPUから外部への接続
 12.2 ポートをシステムに接続するその他の方法
 12.3 各種のI/O機構
 12.4 I/O速度のランク
 12.5 システムバスとデータ転送レート
 12.6 バッファリング
 12.7 ハンドシェイク
 12.8 I/Oポートにおけるタイムアウト
 12.9 割り込みとポーリング
 12.1 保護モードとデバイスドライバ
 12.11 特定のPC周辺デバイスを探る
 12.12 キーボード
 12.13 標準的なPCのパラレルポート
 12.14 シリアルポート
 12.15 ディスクドライブ
 12.16 テープドライブ
 12.17 フラッシュメモリ
 12.18 RAMディスクと半導体ディスク
 12.19 SCSIデバイスとSCSIコントローラ
 12.20 IDE/ATAインターフェイス
 12.21 マスストレージデバイスにおけるファイルシステム
 12.22 マスストレージデバイス上のデータを操作するソフトウェアの記述
 12.23 USB(Universal Serial Bus)
 12.24 マウス、トラックパッド、その他のポインティングデバイス
 12.25 ジョイスティックとゲームコントローラ
 12.26 サウンドカード
 12.27 さらなる知識のために
 
 低いレベルで考え、高いレベルで書く
 付録A
 

この商品を買った人はこんな商品も買っています


最近チェックした商品

Tポイント利用手続き

         Tポイント利用手続きに関する同意事項

                                株式会社マイナビ出版

株式会社マイナビ出版が提供するマイナビBOOKSにおいてTポイントご利用続きをされる方は、以下に掲げるお客様の個人情報の取り扱いについてご確認の上、ご同意下さい。

マイナビBOOKSにおいてTポイントサービスをご利用いただいた場合に、当社から、次に掲げる<提供情報>を、<提供目的>のためにカルチュア・コンビニエンス・クラブ株式会社(以下「CCC」といいます)へ提供します。

  <提供目的>:CCCの定める個人情報保護方針及びマイナビBOOKSにおけるT会員規約第4条に定める利用目的で利用するためTポイントサービスを利用するため
  <提供情報>:
   1)お客様が【マイナビBOOKS】の正当な利用者であるという情報
   2)ポイント数・利用日
   3)その他、Tポイントサービスを利用するにあたり必要な情報

  <提供方法>: 電磁的記録媒体の送付またはデータ通信による。ただし、提供するデータについては暗号化を施すものとする。

なお、CCCに提供された、以下の情報の利用については、CCCの定める個人情報保護方針及びT会員規約 に沿って取り扱われます。
上記の情報提供の停止をご希望される場合には、【マイナビBOOKS】におけるTポイント利用手続きの解除を実施していただく必要があります。
Tポイント利用手続きの解除、およびTポイントサービスにおける個人情報に関するお問い合わせ先は、以下のとおりです。
お客様お問い合わせ先:Tサイト(http://qa.tsite.jp/faq/show/22612)

 なお、Tポイント利用手続きの解除が完了しますと、マイナビBOOKSにおけるTポイントサービスをご利用いただけなくなりますので、予めご了承ください。

Tポイント利用手続きを行いますか?