プログラミング言語の歴史

Posted by on April 24, 2014 in Tech

要約:
プログラミング言語の歴史と,その進化の方向性

オブジェクト指向でなぜつくるのか 第2版』を読んでいる.本日は第3章まで.

オブジェクト指向を理解するための近道は,プログラミング言語の歴史を知る(OOP 以前のプログラミング技術で何ができて,どこが限界なのかを把握する)ことにある.

というわけで,歴史の紹介があったのでメモ.

機械語

  • 2進数/16進数で記述
  • コンピュータの黎明期に使用
  • 使いこなせたのはごく限られたスーパープログラマのみ

アセンブリ言語

  • 機械語を記号で記述
  • プログラミング言語の最初の一歩
  • プログラム(機械語)を作ることにコンピュータを使用

高級言語

  • コンピュータへの命令を,まとめた高級な文法で記述
  • 機械語やアセンブリ言語と比較して人間が理解しやすい

構造化プログラミング(GOTO レスプログラミング)

  • プログラムロジックの基本三構造を提唱
    • 順次進行
    • 条件分岐
    • 繰り返し
  • 独立性の高いサブルーチン
    • グローバル変数を削減
    • ローカル変数,引数の値渡しを使用
  • 構造化言語(とりわけ C 言語)
    • 言語仕様だけでなく,関数ライブラリによって機能を提供
    • コンパイラを改良することなく言語仕様レベルの機能追加が可能

オブジェクト指向プログラミングに残された課題

  • グローバル変数問題
  • 再利用性の貧弱さ

進化の方向性

  • 高級言語以前
    • 人間が理解しやすい形でプログラムを記述できるようにする
  • 構造化プログラミング
    • プログラムの保守性や品質を向上させる
  • オブジェクト指向
    • グローバル変数問題を解決する
    • プログラムの再利用性を向上させる

プログラミング言語は進化するべくして進化し, OOP も生まれるべくして生まれたということらしい.
第4章以降では,過去の言語と比較して OOP がどのように優れているのかが説明されると思うので楽しみにしたい.