- プログラム言語の役割
コンピュータはプログラムがなければタダの箱と言われることがあります。機械的な部品が揃っただけでは便利な機能を提供することはできません。コンピュータを汎用的な道具に変えるにはソフトウェア(プログラム)の力が必要です。プログラムを作成するためには高度な知識が必要に思われますが、実際は単純な命令の組み合わせで成り立っています。その命令を記述するために利用するのがプログラム言語です。人間も文化に合わせて様々な言語を使い分けていますが、コンピュータの世界でも状況に応じて様々な言語を使い分けて利用します。各言語には共通する部分が多く基本的に1つの言語をマスターすればほとんどのことが他の言語へ応用できるようになっています。始めは手になじみやすい言語を選択すると良いでしょう。
- プログラム言語の進化
・低水準言語
コンピュータ向き
- 機械語(マシン語)
0と1の羅列による命令
コンピュータ(CPU)が唯一理解できる ※CPU依存
↓(人に分かりやすく)
- アセンブラ
マシン語に1対1で命名
(ニーモニック) ※国家試験ではCASLU、COMETU
↓(高度な処理→プログラム肥大→効率性)
・高水準言語
人間の言語に近い表現による命令
(英単語や数字、数式)
- プログラム言語の分類
・汎用プログラム言語
広範囲に利用可能な言語
- 手続き型
処理内容を明示(制御構造で明示)
COBOL、FORTRAN、C、Java
- 非手続き型
作業内容を指示
SQL、LISP
・スクリプト言語
特定のソフトウェアで処理される簡易言語
Perl、JavaScript
・第4世代言語(4GL)
簡易操作、パラメータによるプログラム生成
マクロ機能、ジェネレータ、RADツール
- プログラム言語の種類
FORTRAN |
科学技術計算※最初の高級言語 |
COBOL |
事務処理計算 |
C言語 |
UNIX、AT&T |
BASIC |
教育用、対話型(コマンドのような感覚) |
C++ |
オブジェクト指向(C言語拡張、上位互換) |
Java |
オブジェクト指向、仮想マシン、バイトコード |
PROLOG |
論理型(人工知能) |
LISP |
関数型(人工知能) |
RPG |
ジェネレータ型 |
Perl |
CGIプログラム、文字操作(正規表現) |
- 言語処理プログラム
・プログラム作成の流れ
↓ |
ソースプログラム |
プログラム言語
命令リスト(テキストエディタ) |
.c、
.java |
オブジェクトプログラム |
言語処理プログラム
翻訳作業(マシン語) |
.obj、
.class |
ロードモジュール |
連係編集プログラム(リンカ)
オブジェクト連結(リンク)
※言語ライブラリ |
com、
.exe、
.jar |
※1セグメント:com、複数セグメント:exe
・言語処理プログラムの種類
アセンブラ |
アセンブラ言語の翻訳 |
コンパイラ |
一括して翻訳 |
インタプリタ |
1命令ごとに翻訳 |
ジェネレータ |
ソースコードの雛形、マシン語生成 |
プリコンパイラ |
拡張命令(マクロ)のソースコード化 |
クロスコンパイラ |
他機種のマシン語生成 |
※言語処理プログラムは各言語ごとに必要
|