関連サイト
出版社による関連ページが公開されています。
内容紹介
「プログラミングに必要なものは?」「ビットでどう計算するの?」「なぜ16進数を使う?」
本書は、これからプログラミングを学ぼうとする方や、すでにプログラム言語の文法を学び“プログラムを書いてみよう”と考えている方に向けて書かれた、プログラミングの「基礎」を身につけるための本です。
1章では「プログラミングとはどういうことか」という概要を、そして2章では「コンピュータのしくみ」から、3章では「データ」から、4章では「処理」から、5章では「オブジェクト」から、といった観点で、プログラミングの基礎知識について豊富なイラストと「質問-解答形式」で解説していきます。
どの項目も「なぜそうなっているのか」、「なぜそんなことをするのか」という理由や背景、しくみについて説明を加えています。またホントにそうなっているのかを確かめられるよう、簡単なプログラムを使ってさまざまな実験をしていきます(実験に応じて、アセンブリ言語、C、Javaを使っています)。
一般的なプログラム言語の文法書が「縦糸」の本だとすれば、これは「横糸」の本にあたります。性格上、話がかなり遠いところまで展開していくこともありますが、ぜひそれを楽しんでください。そういった積み重ねが真の理解につながるのだと思います。
コンピュータとプログラミングの基本から、データ構造、アルゴリズム、開発環境、そしてオブジェクト指向まで。プログラミングのさまざまなギモンを解決し、必要な“基礎力”を養いましょう。
書誌情報
- 著者: 羽山博
- 発行日: 2010-04-28 (紙書籍版発行日: 2010-04-28)
- 最終更新日: 2010-04-28
- バージョン: 1.0.0
- ページ数: 338ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
入門書では解説されていないプログラムの知識を得たい人、実習書を読み終えてもプログラムが書けるようにならない人、再入門・プログラミングを本質から理解したい人
著者について
羽山博
京都大学 文学部哲学科(心理学専攻)卒業後、NECでユーザー教育や社内要員教育を担当したのち、ライターとして独立。ソフトウェアの基礎からプログラミング、認知科学、統計学まで幅広く執筆。読者の側に立った分かりやすい表現を心がけている。
2006年に東京大学大学院 学際情報学府博士課程を単位取得後退学。現在、有限会社ローグ・インターナショナル 代表取締役。日本大学、お茶の水女子大学、青山学院大学、東京藝術大学、多摩美術大学 講師。
目次
1章 プログラミングとは
- 1.1プログラミングってどういうこと
- 1.2 数学が苦手でもプログラミングはできますか
- 1.3 どのプログラム言語を学べばいいのでしょうか
- 1.4 プログラミングに必要なものは
- 1.5 プログラムの作成から実行まで
- 1.6 プロジェクトとかビルドって何
- 1.7 コンピュータは間違う?間違わない?
- 1.8 コンパイラとインタプリタの違いって何?
- 1.9 中間言語とか仮想マシンって?
- コラム プログラム?アプリケーション?ユーティリティ?
2章 コンピュータのしくみとプログラミング
- 2.1 「ビット」のイメージが湧かないのですが
- 2.2 「ビット」をどうやって計算するの?
- 2.3 CPUの中には何があって、どう働くの?
- 2.4 メモリの番地っていったい何?
- 2.5 小さいほうから?大きいほうから?
- 2.6 機械語だって臨機応変
- 2.7 コンピュータは疲れを知らない?
- 2.8 コンピュータの論理って少しヘン?
- 2.9 フラグが立つってどういうこと?
- 2.10 オペレーティングシステムはどこにいる?
- コラム CPU、メモリ、ハードディスクの関係
3章 データから見たプログラミング
- 3.1 なぜ16進数を使うのですか?
- 3.2 2進数と16進数の変換について詳しく!
- 3.3 日本語の文字をビットで表すには?
- 3.4 画像をビットで表すには?
- 3.5 サウンドをビットで表すには?
- 3.6 数値と数字は似て非なるもの
- 3.7 負の値は正の値よりも大きい?
- 3.8 事務処理でよく使われる数値
- 3.9 小数はどのようにして表すのか
- 3.10 変数はなぜ宣言が必要なのですか
- 3.11 変数を正しく宣言したのにエラーになるのですが
- 3.12 前回の値を覚えておきたい
- 3.13 スタックとヒープの違いって
- 3.14 行が先?列が先?どっちが速い?
- 3.15 ポインタとアドレスの違いは
- 3.16 ポインタ変数は何のため?
- 3.17 Cで文字列を取り扱うには?
- 3.18 Javaで文字列を取り扱うには?
- 3.19 構造体の宣言方法や用途が分かりません
4章 処理から見たプログラミング
- 4.1 なぜ代入が演算なのですか?
- 4.2 演算子の優先順位がおかしい?
- 4.3 0 == iそれともi == 0?
- 4.4 if文やwhile文がうまく書けない
- 4.5 繰り返しの中に繰り返し
- 4.6 値渡しと参照渡しの違いは?
- 4.7 Cの関数がC++から呼び出せない
- 4.8スレッドセーフって何?
- 4.9 エラー処理の方法を教えて
- 4.10 再帰のアルゴリズムとは
5章 オブジェクトから見たプログラミング
- 5.1 クラスを定義して利用するには
- 5.2 情報を隠蔽するっていいことなの?
- 5.3 オブジェクトの作成時に初期設定するには
- 5.4 サブクラス化とオーバーライド
- 5.5 「ビット」のイメージが湧かないのですが
- 5.6 オブジェクトを作成しなくても使えるメソッド
- 5.7 GUIのプログラミングが分からない
- 5.8 ボタンをクリックしたときの処理は?
- コラム ウェブサービスを利用するためのAPI