プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識
- 日経BP (2021年5月13日発売)
- Amazon.co.jp ・本 (308ページ)
- / ISBN・EAN: 9784296000197
作品紹介・あらすじ
『プログラムはなぜ動くのか』14年ぶり、待望の改訂第3版!
「これからの10年も通用する基本」を、より多くの読者に身につけてもらうために改訂しました。
プログラムがコンピュータの中でどのように動作するのかを、誰にでもわかるように説明します。プログラムは、メモリーにロードされ、CPUによって解釈・実行されます。その仕組みを、多数の図を使って、順序だてて解説します。
第3版では、あらためて全文を見直して、登場する製品や開発ツールなどを新しいものに置き換え、プログラミングが初めてという人でも戸惑わないように、本文や注釈に大幅な加筆を加えています。第2版で好評だったハードウエアに関する説明や、C言語によるサンプル・プログラムも更新しています。巻末の補章のC言語の解説「レッツ・トライ C言語!」も最新仕様に沿うよう改訂しています。
新たに書き下ろした第12章では、Pythonを使った機械学習を取り上げます。初めて機械学習を体験する読者は、コンピュータとプログラムの活用方法としての人工知能(AI)を身近に感じられることでしょう。さらに、巻末の補章にPythonの解説「レッツ・トライ Python!」を追加しています。
本書の特徴
◆プログラムの成り立ち、動作の仕組みを説明…基礎知識をきちんと解説!
◆メモリーについて充実した説明…プログラマの必須知識をしっかり解説!
◆HW、OS、アプリ、クラウドなど動作環境を網羅…実践・実装知識も解説!
何事にも言えることですが、ものごとの本質を知ることは、とても大切なことです。本質を知ってこそ応用が利きます。新しい技術が登場しても、容易に理解できます。本書によって、プログラムを奥底まで探究し、プログラムの本質に触れてください。
――「おわりに」より――
感想・レビュー・書評
-
メモリの説明がとても分かりやすかった
プログラミング初学者・プログラミングをある程度学んだ人 それぞれに学びがある本だと思う
補章の部分はかなり衝撃的だった詳細をみるコメント0件をすべて表示 -
いろいろな意味で基本を学べた
-
CSを学ばずエンジニアになった自分にとって、基礎を学ぶのに最適な1冊でした。
-
大変な良書とは思いながら、自分の理解度が低かったので星3つ。やっぱり自分には難しかったです。場所を指定して引っ張って来て処理してまたある場所に置く。そういう事のバリエーション、でよかったでしょうか?前作も思い出しながら雰囲気を味わいました。こういう事を考え出した人って凄いですねー。
-
駆け出しエンジニアにおすすめ!プログラムとは何が分かった
-
パソコンで表示されるカタカナ英語の意味が分かる。プログラムとコンピュータの関係が掴める良書だと思った。
-
タイトルにプログラミングの基礎知識とあるが、上級者向けのように感じた。
最後まで読めなかったが、読んでいて理解するのにかなり時間がかかる。すっと頭に入る内容ではない。
サンプルコードがCで書かれているのも分かりにくかった。今どきCに触れているエンジニアはどれだけいるだろうか?
また、エンジニアにとってこの本は必読かと言われると、そうではないと思う。
裏で動いてる仕組みを理解するのは良いことだが、それよりも多彩なツールを組み合わせて開発するのが普通になってきている昨今、それらを使いこなせる技術力のほうが重要なのではと感じる。
この本を読むより、開発力を伸ばすための技術書、参考書を読んで、実際にアプリを作ってみるほうが優先度が高いように思う。 -
一周回ってコンピュータサイエンスが面白くなってきたので最近はこういう本をいくつか読んでいる。
大学でやったような気がする内容ばかりだったけど、なぜ当時はあんなにも面白くなかったんだろうと思いながら読んだ。 -
プログラムはなぜ動くのか
株式会社ヤザワ代表取締役社長で、パソコン製造~プログラマまでこなす矢沢久雄 氏の著書です。
「知っておきたいプログラミングの基礎知識」とサブタイトルがあるように、プログラマが知っておくべきハードウェア、OS等の役割を簡潔に解説しています。
【本書で学べること・考えること】
- CPUの動作
- コンピュータ内での2進数の扱い
- メモリ
- ディスク
- データ圧縮
- OS
- コンパイル、リンカー
- I/Oポート
- 機械学習
読んでみての感想です。
Web系のエンジニアにとっては、CPU、2進数、メモリ、OS、I/Oポートの章は参考になりました。
特に浮動小数点数で誤差が出る理由は押さえておきたいトピックなので、しっかり理解しておきたいです。
また、CPUの動きを学ぶことで、自分の書いたコードがどのように処理されるかイメージできるのも良いと思います。
ここまでは、是非、読んで勉強してもらいたい内容です。
コンパイルに関しては、最近の言語がほとんどインタプリタなので、一応、読んでおく程度にしました。
最後の機械学習は、加筆されたものだと思いますが、唐突な感じがするのと、範囲に対し紙面が少なく、正直、無くても良い感じです。