コンピューターの、スゴイところとオモシロイところ。

プログラミングの解体新書

ハードウェアを知ることでプログラミングを知る

プログラミングを学びたいけれど、プログラミングのやり方の本を読んでもなんとなくわかった気がしない。

そんなあなたに読んでほしい書籍の企画です。プログラミングを理解するには、ハードウェア(プロセッサ)を理解するのが王道。この本では、コンピュータのハードウェアが機械語のプログラムを実行している方式を説明し、それを土台に様々なプログラミング言語に共通する「本質」を解説します。

目次

  1. これだけは知っておきたい、プログラミングのきほん
    1. 【縁の下の力持ち】 日常生活を支える様々なコンピュータ
    2. 【多様なコンピュータ、だが…?】 天はコンピュータの上にコンピュータを造らず
    3. 【そもそもコンピュータとは】 コンピュータ=プロセッサ+プログラム+周辺機器
    4. 【そもそもプログラミングとは】 人間とプロセッサのコミュニケーション
    5. 【プログラミングの根本原理1】 複雑なアプリも、単純な部品の組み合わせでできている
    6. 【プログラミングの根本原理2】 「抽象化」がわかるとプログラミングがわかる
    7. 【プログラミングの根本原理3】 ハードウェアがわかるとプログラミングがわかる
    8. コラム    人間が「コンピュータ」だった時代
  2. プログラムはどうやって動くか
    1. 【情報をどう表すか】プロセッサは「0」と「1」しかわからない
    2. 【ノイマン型モデル】70年以上も変わらない、コンピュータシステムの基本構成
    3. 【メモリ】一列に並んだ巨大な引き出し
    4. 【処理装置】高速で正確、きっちり指示をこなすのが得意な「頭脳」
    5. 【制御装置】プログラムの流れ自由自在
    6. 【機械語】プロセッサが理解する唯一の言語
    7. 【命令実行サイクル】 プロセッサが本当にやっていること
    8. 【入出力と周辺機器】 コンピュータと外の世界をつなぐ「きずな」
    9. 【プログラムとデータ】 その区別は、見る人の心の中にある
    10. コラム    プロセッサのスペックを読み解く
    11. コラム    コンピュータシステムとキッチンはよく似ている
  3. プログラミング言語いろいろ
    1. 【コンパイラとインタープリタ】人間プログラマーを支えるサポート体制
    2. 【変数】プログラマーのための「情報の収納ケース」
    3. 【ポインターと参照】 中身を渡すのか、箱を渡すのか、それが問題だ
    4. 【データ構造】 目的に合わせた収納家具
    5. 【制御文】プログラムの流れを操る3つのパターン
    6. 【プログラム呼び出しとライブラリ】 「車輪の再発明」をやめて、仕事の効率を上げよう
    7. 【ハードウェア連携】 システムコール、割り込み、ストリーム
    8. 【オペレーティングシステム(OS)】 それぞれのプログラムの実力を引き出す名指揮者
    9. 【オブジェクト指向】 全てをオブジェクトのチームワークで表現する
    10. 【再帰呼び出し】 自分で自分を呼び出すといいことがある?!
    11. 【宣言型言語】 これを知っていればあなたも「通」
    12. コラム    プログラミング言語の人気ランキング
  4. プログラム開発の作法
    1. 【開発プロセス】 実は、書く作業はごく一部です
    2. 【要件と設計】 不要なものを、うまく作っても仕方ない
    3. 【実装】 職人芸か、チームプレイか
    4. 【テスト】 母さん、この味どうかしら?
    5. 【デバッグ】 弘法もプログラムの誤り
    6. 【デプロイと運用】 いろいろ本番ステージへ
    7. 【評価と改善】 結局、うまくいったんだっけ?
    8. 【アジャイルとDevOps】 「うまい、やすい、はやい」を目指して
    9. 【開発環境・テスト環境・実行環境】 様々な環境を経てプログラムは巣立っていく
    10. コラム        Googleのプログラムの大きさは?
  5. Webプログラミング
    1. 【インターネット】 郵便網の進化形
    2. 【WWW』ブラウザーとWebサーバーの役割分担
    3. 【Webアプリケーション】 サーバーサイドとクライアントサイドがある
    4. 【スマートフォンアプリ】 (検討中)
    5. 【暗号と情報セキュリティ】 初めての相手と秘密を共有するには
    6. コラム    三つ子の魂百まで - なぜインターネットはこうなっているか
  6. プログラミングの現在と未来
    1. プログラミングの最先端
    2. 【分散コンピューティング】 何万台のサーバーを一度に動かす
    3. 【マルチコアと並列プログラミング】 「ムーアの法則」を超えて
    4. 【大きな変化】 高速大容量メモリによる大変革
    5. 【ノイマン型を超えて】 型破りなコンピュータたち
    6. コラム    プログラミングとコンピュータサイエンス

 

  • Facebook
  • Hatena
  • twitter
  • Google+

2進数で遊ぼう!オリジナル商品

  • facebook
  • twitter

つぶやき

PAGETOP
Copyright © 情報機械研究所 All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.