📜 プログラムとは何か
🎯 AI時代にC言語を最初に学ぶ意味を、自分なりの理由として持てるようになる
「最初はPythonのほうが簡単だと聞いたのですが」——もっともな疑問です。正面から答えます。
結論から言えば、簡単さで選ぶならPython、理解の深さで選ぶならCです。そしてこのポータルは、後者の道を選びました。理由は3つあります。
理由1: Cは仕組みを隠さない
多くの新しい言語は、面倒な部分を親切に肩代わりしてくれます。メモリの確保も解放も、型の変換も自動です。ありがたいのですが、裏返せば何が起きているか見えないということでもあります。
Cは肩代わりしてくれません。メモリを自分で確保し、自分で返す。数値の大きさも自分で決める。手間はかかりますが、コンピュータの動き方が全部見えます。遠回りに見えて、実は近道なのです。他の言語を後から学ぶとき、多くの人がつまずく「参照とコピーの違い」「型の話」を、あなたは既に体で知っていることになります。
理由2: AIの土台はCでできている
意外に思われるかもしれませんが、AIブームの足元を支えているのはC/C++です。
Pythonは操縦席、Cはエンジンルームです。操縦だけを覚えるのか、エンジンの仕組みも知るのか。どちらが長く効くかは、考える価値があります。
理由3: これからの人間の仕事は「書く」より「見抜く」
コードを書く速さでは、もう人間はAIに勝てません。
AIが出したコードを読み、危ないところを見抜き、責任をもって世に出す。これがこれからの人間の役割です。そして見抜く力は、機械が何をしているかを知っている人にしか身につきません。
Cは、隠しごとのない言語です。ここで「機械の気持ち」が分かるようになれば、どんな言語のAI生成コードを見せられても、怪しい箇所の匂いが分かるようになります。第6部では、実際にAIの書いたコードを採点する訓練をします。
心配しなくてよいこと
「Cはメモリの扱いが難しくて挫折する」という話をよく聞きます。これは半分本当で、半分は教え方の問題です。準備なしで難所に放り込まれるから折れるのです。このポータルでは、まず機械の仕組みを見て、次に思考の道具を持ち、メモリは図で1歩ずつ確かめてからプログラムを書きます。順番さえ守れば、あの難所は「ちょっと変わった郵便の仕組み」くらいの話になります。
もちろん、Cがすべての場面で最良の言語というわけではありません。用途によってはPythonやRustのほうが適切です。ここで学ぶのは1つ目の言語としてのC、つまり土台としての価値です。
プログラムやデータを一時的に保管しておく場所。番地(アドレス)のついた小さな箱がずらりと並んだ、巨大なロッカーのような構造をしている。電源を切ると中身が消えてしまう、いわば一時的な記憶場所にあたる。
コンピュータに実行させたい処理の手順を、決まった書き方で並べたもの。料理でいうレシピに近く、上から順に指示を実行させる設計図のような存在。プログラムを書く行為はこの手順書を設計する作業そのものと言える。
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。