プログラミング言語
この節の解説動画はプレミアム限定です。プレミアムなら全科目・全節が見放題!
プレミアムで見るプログラミング言語には機械に近い言語と人間に近い言語があるよ!まずはその全体像をつかもう!
簡単にいうと
プログラミング言語には機械に近い言語と人間に近い言語があるよ!まずはその全体像をつかもう!
① 機械語(マシン語)
コンピュータのCPUが直接理解し実行できる唯一の言語が機械語です。すべての命令は0と1のビット列で構成されており、たとえば「00101011」のような数値の羅列がそのまま処理命令になります。人間にとっては極めて読み書きが困難ですが、CPUにとっては翻訳なしで即座に実行できるため、処理速度は最も高速です。
② アセンブラ言語
機械語の各命令を、人間が読みやすい英語的な記号(ニーモニック)に1対1で対応させた言語がアセンブラ言語(アセンブリ言語)です。たとえば「ADD」は加算、「MOV」はデータの移動を意味します。機械語と命令が1対1に対応しているため、ハードウェアを直接細かく制御できる利点があります。組込みシステムやデバイスドライバの開発など、ハードウェアに密接した制御が求められる場面で現在も使われています。アセンブラ言語を機械語に変換するソフトウェアをアセンブラと呼びます。
③ 高水準言語(高級言語)
人間が理解しやすい英語に近い構文で記述できる言語を高水準言語と総称します。機械語やアセンブラ言語が「低水準言語」と呼ばれるのに対し、高水準言語はハードウェアの細部を意識せずにプログラムを書けるのが最大の特長です。ただし、CPUが直接理解できるのは機械語だけですから、高水準言語で書かれたプログラムは必ず機械語への翻訳(変換)が必要です。この翻訳を行うソフトウェアがコンパイラやインタプリタであり、Theme 4で詳しく解説します。
④ 代表的な高水準言語の分類
高水準言語は、処理の書き方の違いによって大きく手続き型言語と非手続き型言語に分けられます。
| 分類 | 言語 | 特徴・用途 |
|---|---|---|
| 手続き型言語 | FORTRAN | 科学技術計算向け。1957年登場の最古の高水準言語の一つ |
| COBOL | 事務処理・金融業務向け。英文に近い構文で帳票処理に強い | |
| C言語 | UNIX OSの開発に使われた汎用言語。ハードウェア制御も可能 | |
| C++ | C言語にオブジェクト指向機能を追加した拡張言語 | |
| 非手続き型言語 | Java | インターネットアプリケーション向け。JVM(Java仮想マシン)上で動作するためOS非依存 |
手続き型言語は「何をどの順番で処理するか」を逐一記述するスタイルです。一方、Javaはオブジェクト指向の考え方を全面的に採用しており、「データとその操作をひとまとめにしたオブジェクト」を中心にプログラムを構築します。
Javaの最大の特徴はJVM(Java Virtual Machine)の存在です。Javaで書いたプログラムは、まずバイトコードという中間形式にコンパイルされ、各OS上のJVMがそのバイトコードを解釈・実行します。このため、Windows・Mac・Linuxなど異なるOSでも同じプログラムをそのまま動かせる「Write Once, Run Anywhere」(一度書けばどこでも動く)を実現しています。
具体例
低水準言語と高水準言語の違いを、「外国語でのコミュニケーション」に例えてみましょう。
機械語は、相手の母国語(たとえばスワヒリ語)で直接話すようなものです。相手はすぐに理解できますが、あなたにとっては習得も発話も非常に大変です。
アセンブラ言語は、スワヒリ語の各単語にカタカナのふりがなを振ったようなもの。少しは読みやすくなりますが、スワヒリ語の文法そのものを理解する必要があります。
高水準言語は、日本語で話してプロの通訳(コンパイラ)にスワヒリ語へ翻訳してもらうイメージです。あなたは日本語で考えるだけでよく、細かい文法は通訳が処理してくれます。
そしてJavaはさらに特殊で、「エスペラント語」のような共通中間言語(バイトコード)にまず翻訳し、各国に配置された現地通訳(JVM)がその場で最終翻訳する仕組みです。だから世界中どの国(OS)に行っても同じ話(プログラム)が通じるのです。
試験のポイント
動画・テキスト・過去問・AI添削まですべて網羅!
予備校代の1/10以下で、独学の不安をまるごと解決できます
プレミアムプラン
¥14,800/ 購入日から1年間有効(税込)
決済はStripe(世界最高水準・PCI-DSS準拠)で安全に処理されます。カード情報は当サービスに保存されません。