プログラムはなぜ動くのか ― 知っておきたいプログラミングの基礎知識
プログラムはなぜ動くのか ― 知っておきたいプログラミングの基礎知識
プログラムはなぜ動くのか ― 知っておきたいプログラミングの基礎知識
日経BP出版センター 日経BP出版センター
¥ 2,520
プログラムはなぜ動くのか――。この問いに答えるのは、簡単なようで難しい。自分の書いているコードがマシン語に変換され、0と1の2進数で理解されていることは知っていても、実際にプログラムコードに対応してCPUがどんな動きをするのかをイメージできる人は少ない。
本書は、プログラムがどう動くのかを図解入りでわかりやすく解説した楽しい読み物である。基本的にプログラマーを対象としているが、各章末には丁寧な語句説明がついているので、コンピュータのしくみを詳しく知りたい人や、これからプログラムに挑戦する初心者にもおすすめできる。
内容は、CPUの内部にあるレジスタ、制御装置、演算装置、クロックの説明とこれらがプログラムに対応してどのように動作するのかという解説に始まり、2進数による四則演算、論理演算の説明、小数計算における問題点、メモリとディスクの関係、データ圧縮のしくみ、プログラムが動く環境、OSとアプリケーションの関係、ハードウェア制御の方法など、プログラマーが知っておくべきあらゆるトピックが網羅されている。適宜アセンブリ言語やC言語のコード例が示されているので、具体的にプログラムの動きを理解することができる。また、プログラマーを悩ますポインタ、配列などの解説やメモリを節約するプログラミング手法など、実際のプログラミングに役立つトピックも掲載されている。プログラミングをひと通りマスターしたプログラマーにとっても、じっくり読めば参考になる部分が多いだろう。プロ、アマを問わずすべてのプログラマーにおすすめしたい1冊である。(土井英司)
コンピュータはなぜ動くのか~知っておきたいハードウエア&ソフトウエアの基礎知識~
Windowsはなぜ動くのか
オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
Javaでなぜつくるのか 知っておきたいJavaプログラミングの基礎知識
情報はなぜビットなのか 知っておきたいコンピュータと情報処理の基礎知識
■not 入門書 評価4 日付2007-12-01CPUやメモリなど基本的なことを詳しく解説してあるだけでなく、比喩やイメージが多用されており分かりやすいです。Windowsなどを使った一般的な例も載っています。それでも、専門知識はプログラムを組んだことのある人や、コンピュータ好きな人でないと辛いかも知れません。
■いくどか苦しむが、それなりの収穫も 評価3 日付2006-07-30他の方のご指摘のとおり、入門書ながらかなり高度な内容のところもあり、読んでいて何度となく苦しみを味わった。
しかしながら、読み終えた時に、「なぜ動くか」のイメージは十分に掴めたと思う。
分からないところは、思い切って流し読みして、読破後改めて立ち返って読み直すというのが、この本の読み方かもしれない。
■プログラミング入門者がこの本で学習しようとしても挫折する確率が高いと思われます。 評価2 日付2006-05-21タイトルから判断すると、いかにもプログラミング入門者向けにプログラムの動作原理を解説した書籍のようですが、
本書でプログラミングの原理を理解しようとしても、途中で挫折する確率が非常に高いと思われます。
なぜならば、本書は、第1章からいきなりCPUの構成要素であるレジスタの話が中心となり、
アセンブリ言語のコードがレジスタでどう処理されるのかといった高度な内容が続きます。
私の場合、すでにここで挫折しそうになりましたが、何とかがんばって読み続けました。
そして第一章の最後の一節にさしかかったとき、目を疑いました。
(以下、第一章最終節からの引用)
さて、本文の中でフラグ・レジスタの説明をしたときに、「ビット」という言葉が出てきました。
ビットは、2進数の1桁分に相当し、コンピュータが演算を行う仕組みを知る上で、とても重要なものです。
(引用ここまで)
著者は、著者自身が「ビット」という言葉の説明をしなければならないと感じている読者に対して、
コンピューターを理解する上で最も基本的な「ビット」の概念を説明する以前に、
アセンブラとかレジスタの話をしているのです。
この時点でこの本は入門者の目線に立った本でない事は明白です。
この本は確かに、それなりの知識のある人が読めば勉強になる部分は多いかと思います。
この本のレビューの評価が総じて高いのは、実際にそういう人達がレビュアーの多数を占め
よい点数をつけているからだと思われます。
しかしこの本のタイトルから想起される、入門書という範疇の文脈で考えた場合、
星1つや星2つしかつけてない人の方が客観的なレビューを行っていると思います。
私は、前述のような不信感はありますが、
自分のスキルが向上した時にあらためて読み直すと勉強になる部分も多いということで星2つとさせていただきます。
■知っておくべき内容だとは思うけど・・・ 評価2 日付2006-05-10この本に書いてある内容は、プログラムを組む人にとって押さえて置くべき基礎知識だと思います。
ただ、この本は、理解してる人が読めばわかるもので、理解していない人が読んでも
結局は、理解できないまま終わると思います。
基礎知識を習得しようとしている人にお勧めできる本ではないです。
■どこが入門書なの? 評価1 日付2006-02-07この本は「プログラム入門書」という位置づけらしいですが、
内容はかなりハードウェア寄りです。少なくとも入門書ではありません。
熟練した人が読み物として読むならよいかもしれませんが、初心者がこれを読んでも
途中で挫折するか、ほとんど理解できないのではないでしょうか。
かなり高度な内容なのでプログラム初心者にはお薦めできません。
⇒ もっと詳しく調べる