どうも、ロアッソ熊本が勝利して気分が良いはっし~だす。
前回はVisualStudioでプロジェクトを開く、実行という操作と簡単なコード説明をしました。
ちょっと話が前後しますが、プログラムはあくまで言語です。言語を知るにはその歴史と成り立ちを知ることは理解を深めるのに重要です。
C言語は “手続き型プログラミング” から “構造化プログラミング” へと移行する時代に登場し、その後のプログラミング言語へ大きな影響を与えた言語です。現在主流となっているオブジェクト指向言語のプログラム言語のベースになっている場合や、そもそも開発環境等はC言語で書かれているものも多いですし、OSやデバイスドライバ、組込み機器などは今でもC言語で開発されています。C言語を理解することはその後のプログラミングを理解することにつながります。
超ざっくりとプログラム言語の歴史を説明すると以下のような感じでしょうか。
※ホントざっくりなんで雑過ぎたり、間違ってる部分もあるかもしれませんが、この理解でも問題ないと思ってます。
- 機械式計算機ってこれ以上の進化難しそうだし、電圧の有無を “ON” と “OFF” のスイッチにしたら面白いんじゃない?
これで歯車・圧力弁とはおさらばだ! - “0” “1” も複数あれば数字として扱えるじゃん!(2進数)
8個の組み合わせで256通りの処理できるぜヒャッホー!
※8ビット(bit) = 1バイト(byte) - 簡単な演算とメモリへの読み書き管理機能を “0” “1” の組み合わせで命令でできるようにした!
あと、 “0” “1” だけだと分かりづらいから4bitで16進数を使用しよう。
※機械語、16進数の誕生 - 2進数か16進数ではさすがにチェックしにくいし、ミスも多くなるから記号(ニックネーム)を割り当てよう!
※アセンブリ言語(ニーモニック)の誕生、これも機械語とほぼ対になる言語で 2進数の組み合わせに記号を割り充てただけみたいなイメージでOK。 - まだ分かりにくいし、自然言語(まあ英語)にもう少し近づけよう!
※手続き型言語(FORTLAN・BASIC・COBOL等)の登場、これも基本はアセンブリ言語を自然言語に近づけたイメージで上から順に処理しながら、指定した行へジャンプするといったまだCPU寄りの構文ルールで、所謂スパゲッティプログラム(いろんなところが絡み合って良く分からない状態のプログラム)を生み出しやすい、というかスパゲッティプログラムそのものと言って過言ではないかも。 - “逐次・分岐・繰返し” プログラムの基礎をブロック化して記述できるようにしよう!
処理とデータもそれぞれ一纏めにしたものをモジュール化(部品化)して組み合わせて使えるようにしよう!
※構造化プログラミングの誕生
ちょっと色々忙しかったのでいったんここまでで・・・週一更新を守りたいので、次回また続きから・・・でわでわ