📜 プログラムとは何か
🎯 低級言語・高級言語の違いを理解し、数ある言語の中でのC言語の位置づけを説明できる
プログラミング言語は数百種類あります。全部を知る必要はありませんが、地図のどこに自分がいるかは知っておくと得です。
機械に近い言葉から、人間に近い言葉へ
MOV ADD のような短い名前を付けたもの。ほぼ機械語と1対1「高級/低級」は値段や偉さの話ではありません。機械からの距離を表すだけの言葉です。低級=機械に近い、高級=人間に近い、それだけの意味です。
翻訳方式による2つの流派
JavaやC#はその中間の方式をとります。速さと手軽さのどちらを取るか、という設計思想の違いです。
Cの居場所
C言語は1972年、UNIXというOSを書くために生まれました。半世紀以上前の言語ですが、いまも現役です。位置づけを一言でいえば、高級言語の中で、いちばん機械に近い場所です。
どれが最強か、という問い
「どの言語がいちばん優れているか」という議論は昔からありますが、答えは「用途による」です。データ分析や機械学習ならPython、Webの画面ならJavaScript、業務システムならJavaやC#、機器の制御やOSならC。工具箱の中のドライバーとハンマーに優劣がないのと同じで、向き不向きの違いにすぎません。そして、どの言語で書いてもソースコードは最後には機械語になって動く、という点だけは全部に共通しています。
もうひとつの利点: 文法の親戚が多い
Java、C++、C#、JavaScript、Go、PHP……これらは書き方の作法をCから受け継いでいます。{} でまとまりを作る、文の終わりに ; を打つ、if for while で流れを操る。この形はCが広めたものです。
ですからCを1つ身につけると、他の言語の見た目が急に読めるようになります。地図の縮尺を覚えるようなもので、初めての土地でも道の見当がつくようになるのです。2つ目の言語を学ぶ時間は、1つ目の半分以下で済むとよく言われます。最初の1つに時間をかける価値は、そこにあります。
0と1の並びだけで書かれた、CPUが直接理解できる命令の集まり。人間には読みにくいが、コンピュータが実行できる唯一の言葉にあたる。同じソースコードでも、CPUの種類が変われば生成される機械語も変わってくる。
ソースコードをコンピュータが直接実行できる機械語に変換する作業。翻訳者が人間の言葉を機械の言葉に訳してくれる工程だとイメージすると分かりやすい。この工程を経なければ、書いたコードはコンピュータの上でまったく動かせない。
人間が読み書きできる形でプログラムを書いた文章そのもの。この段階ではコンピュータはまだ直接実行できず、機械語への変換が必要になる。この文章を人間が理解しやすい形のまま保存したファイルがソースファイルと呼ばれる。
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。