プログラムはなぜ動くのか 第 3 版 知っておきたいプログラミングの基礎知識(プログラムハナゼウゴクノカダイサンパンシッテオキタイプログラミングノキソチシキ)
- 著者:
- 矢沢 久雄(ヤザワヒサオ)
- 出版社:
- 日経BP
- 出版日:
- 2021年05月14日頃
- ISBN:
- 9784296000197
- 価格:
- ¥2,970
- 在庫:
- 1
- 判型:
- 単行本
書籍紹介
『プログラムはなぜ動くのか』 14 年ぶり、待望の改訂第 3 版!
「これからの 10 年も通用する基本」を、より多くの読者に身につけてもらうために改訂しました。
プログラムがコンピュータの中でどのように動作するのかを、誰にでもわかるように説明します。プログラムは、メモリーにロードされ、 CPU によって解釈・実行されます。その仕組みを、多数の図を使って、順序だてて解説します。
第 3 版では、あらためて全文を見直して、登場する製品や開発ツールなどを新しいものに置き換え、プログラミングが初めてという人でも戸惑わないように、本文や注釈に大幅な加筆を加えています。第 2 版で好評だったハードウエアに関する説明や、 C 言語によるサンプル・プログラムも更新しています。巻末の補章の C 言語の解説「レッツ・トライ C 言語!」も最新仕様に沿うよう改訂しています。
新たに書き下ろした第 12 章では、 Python を使った機械学習を取り上げます。初めて機械学習を体験する読者は、コンピュータとプログラムの活用方法としての人工知能 (AI) を身近に感じられることでしょう。さらに、巻末の補章に Python の解説「レッツ・トライ Python!」を追加しています。
本書の特徴
◆プログラムの成り立ち、動作の仕組みを説明…基礎知識をきちんと解説!
◆メモリーについて充実した説明…プログラマの必須知識をしっかり解説!
◆ HW 、 OS 、アプリ、クラウドなど動作環境を網羅…実践・実装知識も解説!
何事にも言えることですが、ものごとの本質を知ることは、とても大切なことです。本質を知ってこそ応用が利きます。新しい技術が登場しても、容易に理解できます。本書によって、プログラムを奥底まで探究し、プログラムの本質に触れてください。
ーー「おわりに」よりーー
【目次】
第 1 章 プログラマにとって CPU とはなにか
第 2 章 データを 2 進数でイメージしよう
コラム:ピカピカの小学生に CPU と 2 進数を説明する
第 3 章 コンピュータが小数点数の計算を間違える理由
第 4 章 四角いメモリーを丸く使う
第 5 章 メモリーとディスクの親密な関係
第 6 章 自分でデータを圧縮してみよう
コラム:ゲームに夢中な中学生にメモリーとディスクを説明する
第 7 章 プログラムはどんな環境で動くのか
第 8 章 ソース・ファイルから実行可能ファイルができるまで
第 9 章 OS とアプリケーションの関係
コラム:スマホが大好きな女子高生に OS の役割を説明する
第 10 章 アセンブリ言語からプログラムの本当の姿を知る
第 11 章 ハードウエアを制御する方法
コラム:近所のおばあちゃんにディスプレイとテレビの違いを説明する
第 12 章 コンピュータに「学習」をさせるには
コラム:行きつけの居酒屋のマスターに機械学習の種類を説明する
補章 1 レッツ・トライ C 言語!
補章 2 レッツ・トライ Python!
言及の推移
言及 Qiita 記事 (17 件)
【データ分析の必読10冊+差をつける10冊+100冊超】データサイエンス、データ分析、機械学習関連の本
♡ 1632本, 機械学習, 数学, データ分析, データサイエンス【最新技術に振り回されない】 低レイヤーに強くなるための鉄板コンテンツ集
♡ 1069CPU, コンパイラ, OS, システムプログラミング, 低レイヤ新人さんにすすめる有益な技術書達 2022春
♡ 528読書, まとめ, 新人プログラマ応援SE 1年目で読んだ技術書68冊+α
♡ 273Java, 初心者, 技術書, Se低レイヤーの入り方
♡ 108C, Linux, OS, 低レイヤ新人エンジニアのためのブックリスト
♡ 20本, 初心者, 技術書, 応用情報技術者試験, 新人エンジニアオブジェクトとはつまり"メモリ上の実態"のことで人によって指し示すことが違うこと
♡ 15C, C++, オブジェクト指向, ポエムエンジニアに転向して1年で開発チームのリーダーになるまでに勉強したことをまとめる
♡ 14Python, JavaScript, AWS, 初心者, 技術書にわかにアセンブリに興味をもった自分が、ふとGeminiに学習プランを聞いてみたら思わぬ収穫があった話
♡ 2アセンブリ言語, Gemini果たして自分の書いているコードは読みやすいか
♡ 2リーダブルコード, 技術書, アウトプット
この本に興味がある方におすすめ
この本に関連
矢沢 久雄 の他の書籍
関連記事
本屋のプログラミングコーナーの歩き方
本屋のプログラミング書コーナーに行くと、棚いっぱいの本に圧倒されます。どこを見ればいいか、どう選べばいいかを初心者向けに案内します。
有名プログラマの読書習慣 - 天才たちは何を読んできたのか
リーナス・トーバルズ、まつもとゆきひろ、ビル・ゲイツなど、著名なプログラマたちの読書習慣と愛読書を紹介します。天才たちの読書スタイルから学べることとは。
OS・低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
関連用語
Python
読みやすさを重視した汎用プログラミング言語で、データサイエンス、AI、Web 開発で広く使われる
ファインチューニング
事前学習済みモデルを特定のタスクやドメインに適応させる追加学習
ペアプログラミング
2 人の開発者が 1 台の PC で協力してコードを書く開発手法
メモリレイアウト
プログラムのメモリ空間の構造で、スタック、ヒープ、コード領域、データ領域から構成される
グラフデータベース
ノード (エンティティ) とエッジ (関係) でデータを表現し、複雑な関係性のクエリに特化したデータベース
MapReduce
大規模データを Map (分割・変換) と Reduce (集約) の 2 段階で並列処理する分散処理モデル