コンピュータはどうやって命令を実行するのか。ソースコードが機械語になり、CPUとメモリが動く仕組みを最初に知る。
スマートフォンもゲーム機も自動改札機も、中身はコンピュータです。では、コンピュータとはそもそも何をする機械なのでしょうか。ここをはっきりさせておくと、この先の学習で迷子になりません。 コンピュータの仕事は、突き詰めるとたった3つです。入力(数や文字を受け取る)、処理(決められた計算をする)、出力(結果を画面やファイルに出す)。この3つの繰り返しだけで、動画の…
友達に「カレー作っといて」と頼めば、たぶんカレーが出てきます。玉ねぎの切り方も火加減も、相手が経験で補ってくれるからです。ところが同じ言葉をロボットに言うと、何も起きないか、とんでもないものが出てきます。補ってくれる人がいないからです。 プログラムとは、この「補ってくれない相手」に向けて書く手順書のことです。人間向けの手順書とは、要求される厳しさが違います。…
私たちが書くプログラムは、英単語と記号でできた文章です。ところが機械が理解できるのは0と1の並びだけ。この2つの間には、翻訳者が必要です。 人間が読み書きするために文字で書かれたプログラムをソースコードと呼びます。例えばC言語ではこう書きます。 これを実行するには、CPUが直接読める形——機械語に翻訳しなければなりません。機械語は 10110000 0110…
コンピュータの中には無数の部品がありますが、プログラムを学ぶうえで主役は2つだけです。CPUとメモリです。 机で作業する場面を思い浮かべてください。 CPU=作業する人。計算する、比べる、次に何をするか決める メモリ=机の上。いま使っている書類(データ)を広げておく場所 ストレージ(SSD)=引き出し。使わないものをしまっておく場所 作業する人は、机の上に出…
CPUは何億個ものトランジスタでできた複雑な部品ですが、やっていることは驚くほど単純です。次の3つを、ひたすら繰り返しているだけです。 Fetch(フェッチ・取り出す) — メモリから次の命令を1つ持ってくる Decode(デコード・読み解く) — その命令が何をせよという意味かを解読する Execute(エグゼキュート・実行する) — 実際に計算したり値を…
プログラミング言語は数百種類あります。全部を知る必要はありませんが、地図のどこに自分がいるかは知っておくと得です。 機械に近い言葉から、人間に近い言葉へ 機械語 — 0と1そのもの。CPUが直接読める唯一の言葉 アセンブリ言語 — 機械語の命令に MOV ADD のような短い名前を付けたもの。ほぼ機械語と1対1 高級言語 — 人間の考え方に寄せた言葉。C、J…
「最初はPythonのほうが簡単だと聞いたのですが」——もっともな疑問です。正面から答えます。 結論から言えば、簡単さで選ぶならPython、理解の深さで選ぶならCです。そしてこのポータルは、後者の道を選びました。理由は3つあります。 理由1: Cは仕組みを隠さない 多くの新しい言語は、面倒な部分を親切に肩代わりしてくれます。メモリの確保も解放も、型の変換も…
コンピュータは0と1しか扱えない、とよく言われます。なぜでしょうか。理由は身も蓋もありません。電気が流れているか、いないかの2状態しか、確実に見分けられないからです。 電圧が高い状態を1、低い状態を0とする。この2種類の記号だけで、数も文字も画像も音も表す。それがコンピュータの大前提です。この0か1かの1桁をビットと呼び、8ビットをまとめて1バイトと呼びます…
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。