2011年01月28日

C言語の歴史(1)

ちょっと最近たまーにブログを書いたと思ったら買い物のレビューとか書籍のレビューとかばかりでなかなか中身のある記事を書いていませんでした。

そこでちょっとC言語の歴史を振り返ってみることにしました。2回に分けます。

1回目はC言語の祖先と子孫についてです。2回目はC言語の発展の歴史の予定。

C言語はUNIXの実装用言語としてデニスリッチーによって開発されましたが、開発の参考にした祖先の言語がありました。その系譜を図示したのが以下です。


CHistory.png

《C言語の起源をめぐって》
http://www.lbm.go.jp/toda/comp/corigin.html
こちらに直系祖先についての記述があります。

図中の各言語についての説明を以下に示します。またMac OS Xで実行可能な処理系がフリーで入手可能であればそれについても示します。




ALGOL
ALGOL(アルゴル、ALGOrithmic Language の略)は、1950年代後半から60年代に開発された。ALGOL 58、ALGOL 60、ALGOL 68と発展。

□Algol 68 Genie
http://www.xs4all.nl/~jmvdveer/algol.html
同サイトからソースコードをダウンロードして

$ ./configure
$ make
$ make install

で可能。
$ make check
でビルドが成功しているかどうかチェックできる。check-01.a68など複数のサンプルとpdfマニュアルがありますので確認可能。

ビルド&チェックまでしかやっていません。

PASCAL
Pascal(パスカル)は、構造化された初期の代表的なプログラミング言語。
Pascalは、1970年にスイスのチューリッヒ工科大学のニクラウス・ヴィルト(Niklaus Wirth)が教育用プログラミング言語として開発し、ALGOLの影響を受けた簡素で厳密な構造化言語仕様を持つ。

□Free Pascal
http://www.freepascal.org/
http://sourceforge.net/projects/freepascal/files/
Mac OS X 用Intelバイナリもあります。

□GNU Pascal
http://www.gnu-pascal.de/gpc/h-index.html
http://www.microbizz.nl/gpc.html
Mac OS X 10.6用 Intelバイナリもあります。

CPL
CPL(Combined Programming Language、「統合プログラミング言語」の意)はC言語の遠い祖先となった古いプログラミング言語である。1963年頃に開発された。


BCPL
BCPL (Basic Combined Programming Language、Basic-CPL)は1966年にケンブリッジ大学のマーティン・リチャーズ (Martin Richards)が設計したプログラミング言語である。

{}を利用。//で一行コメントなど様々な仕様が現代に影響している。


B言語
B言語(ビーげんご)は、AT&Tベル研究所のケン・トンプソン (Ken Thompson) によって開発されたプログラミング言語である。1969年頃。


C言語

C++
C++は、1983年にベル研究所のコンピュータ科学者であったビャーネ・ストロヴストルップが、C言語の拡張として開発した。


Objective-C
Objective-Cは、1983年にBrad Coxによって開発された。


D言語
D言語(ディーげんご, D programming language)は、Digital Mars社のウォルター・ブライトによって開発された。1999年12月にウォルター・ブライトが考案され、2007年1月にバージョン1.0リリース。

□D 2.0
http://www.kmonos.net/alang/d/
http://www.kmonos.net/alang/d/2.0/dmd-osx.html

実行可能なビルドが含まれていて、すぐにコンパイル実行可能。
dmd2/osx/bin/dmdがコンパイラ。サンプルプログラムも含まれている。

Java
Javaプラットフォームおよびプログラミング言語Javaは、1990年12月にサン・マイクロシステムズが1つの内部プロジェクトを立ち上げたことから始まった。


C#
2000年から.NETプロジェクトの一貫として開発された。ISO標準にも採用されている。

□Mono
http://www.mono-project.com/Mono:OSX
統合環境もあるしCocoa GUIやCocoa touch GUIもある。


PL/I
PL/I(ピーエルワン、"Programming Language One")は、汎用プログラミング言語の一つ。
PL/Iは科学技術用、工業用、商業用などにデザインされた命令型プログラミング言語である。1964年に生まれ、多くの教育機関、商用、工業で使用され、2009年現在も使われている。


□GNU PL/I for GCC
http://pl1gcc.sourceforge.net/
GCCでコンパイル可能なコードを生成するプロトタイプ。
Mac OS Xで実行可能かどうかは未確認。

Fortran
FORTRAN(フォートラン、FORmula TRANslationの略)は、1954年にIBMのジョン・バッカスによって考案された、コンピュータにおける史上初の高水準記述言語である。1956年に最初のマニュアルが、1957年にIBM 704用の最初のコンパイラがリリースされた。


□GNU Fortran 95
http://gcc.gnu.org/fortran/
http://gcc.gnu.org/wiki/GFortran
F77標準、F95標準に加えてFortran 2003、Fortran 2009の機能も追加されている。

http://gcc.gnu.org/wiki/GFortranBinaries#MacOS
インストール可能なパッケージ。未実行。

COBOL
COBOL(コボル、COmmon Business Oriented Language 汎商業目的言語の略)は、事務処理用に1950年代開発された。アメリカ国防総省によって提案された組織、CODASYL(Conference on Data Systems Languages、データシステムズ言語協議会)が設立され、1959年にCODASYLによって開発された共通事務処理用言語がCOBOLである。


□GNU COBOL for GCC
http://cobolforgcc.sourceforge.net/
内容は未確認。GCCでコンパイル可能なコードを生成するフロントエンド。
ラベル:C言語
posted by 永遠製作所 at 01:20| 東京 ☀| Comment(0) | TrackBack(0) | 雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック