C言語学習ポータル(無料版) 学習コンテンツ プログラムとは何か プログラミング言語の地図とCの位置

📜 プログラムとは何か

プログラミング言語の地図とCの位置

無料公開版に収録・読む目安 10分

🎯 低級言語・高級言語の違いを理解し、数ある言語の中でのC言語の位置づけを説明できる

プログラミング言語は数百種類あります。全部を知る必要はありませんが、地図のどこに自分がいるかは知っておくと得です。

機械に近い言葉から、人間に近い言葉へ

「高級/低級」は値段や偉さの話ではありません。機械からの距離を表すだけの言葉です。低級=機械に近い、高級=人間に近い、それだけの意味です。

翻訳方式による2つの流派

JavaやC#はその中間の方式をとります。速さと手軽さのどちらを取るか、という設計思想の違いです。

Cの居場所

C言語は1972年、UNIXというOSを書くために生まれました。半世紀以上前の言語ですが、いまも現役です。位置づけを一言でいえば、高級言語の中で、いちばん機械に近い場所です。

ビットCは「持ち運べるアセンブリ」なんて呼ばれることもあるよ。機械に近いのに、人が読める言葉なんだ。

どれが最強か、という問い

「どの言語がいちばん優れているか」という議論は昔からありますが、答えは「用途による」です。データ分析や機械学習なら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の種類が変われば生成される機械語も変わってくる。

コンパイルこんぱいる

ソースコードをコンピュータが直接実行できる機械語に変換する作業。翻訳者が人間の言葉を機械の言葉に訳してくれる工程だとイメージすると分かりやすい。この工程を経なければ、書いたコードはコンピュータの上でまったく動かせない。

ソースコードそーすこーど

人間が読み書きできる形でプログラムを書いた文章そのもの。この段階ではコンピュータはまだ直接実行できず、機械語への変換が必要になる。この文章を人間が理解しやすい形のまま保存したファイルがソースファイルと呼ばれる。

同じトラックのほかの項目

コンピュータは何をする機械かコンピュータが「超高速だが命令どおりにしか動かない機械」であることを、自分の言葉で説明できる プログラムとは「手順書」であるプログラムが満たすべき3条件(順序・明確さ・有限)を理解し、曖昧な指示との違いを説明できる ソースコードから機械語へ——コンパイルの旅ソースコード・コンパイラ・機械語の関係と、コンパイルという工程の役割を説明できる CPUとメモリの模式図CPUとメモリの役割分担を机の比喩で説明でき、メモリが「番地つきのロッカー」であることを理解する 命令実行サイクル(Fetch-Decode-Execute)CPUが命令を1つずつ取り出して実行する繰り返しで動いていることを理解する なぜ最初にC言語なのかAI時代にC言語を最初に学ぶ意味を、自分なりの理由として持てるようになる 0と1ですべてを表す——2進数の入口2進数の仕組みを理解し、簡単な2進数と10進数の相互変換ができる
‹ 命令実行サイクル(Fetch-Decode-Execute) なぜ最初にC言語なのか ›

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る

📚 姉妹教材:手を動かして覚える Linux 教材 — Linuxとインフラの仕組みを地図で学ぶ

Web版 / BOOTH