C言語の歴史
C言語の誕生
C言語のルーツは、Martin Richardsが開発したBCPL言語であるといわれています。Ken Thompsonは、この言語を参考にして1970年にB言語という言語を開発しました。
B言語の後継となったのが、1972年頃にDennis M. Ritchieが開発したC言語です。
当時Ritchieは、Ken Thompsonらと共同で、ミニコンピュータのオペレーティングシステムであるUNIXの開発に携わっていました。このOSは、初期の段階ではアセンブリ言語を用いて開発されましたが、その後、C言語で書き直されました。
初期のUNIXを移植するために開発されたのがC言語ですから、ある意味では
「C言語はUNIXの副産物である。」
ということになります。
そのUNIX本体だけでなく、その上で動作する多くのアプリケーションも、C言語で開発されることになります。
そのため、C言語は、まずUNIXの世界で広まりました。しかし、その勢いは全くとどまらず、次第に大型コンピュータやパーソナルコンピュータの世界にも普及していったのです。
K&R … C言語のバイブル
RitchieはBrian W. Kernighanと共に、C言語の解説書である
“The C Programming Language”, Prentice-Hall, 1978
を著しました。C言語の設計者が自ら著したこの書は、C言語のバイブルとして多くの人々に読まれることになります。そして、著者のイニシャルに由来して、“K&R”という愛称で親しまれます。
K&Rの巻末には、C言語の言語仕様を規定した“Reference Manual(参照マニュアル)”が付録として採録されています。ここに記された言語仕様が、C言語の標準的な仕様であると考えられることになりました。
K&Rの参照マニュアルに規定されている言語仕様は、曖昧で紛らわしい部分が少なからずありました。したがって、C言語の普及とともに、多くの『方言』が生まれ、独自の拡張機能をもつC言語が氾濫することになります。
標準Cの誕生
本来のC言語は、可搬性が高いこと、すなわち、あるコンピュータ用にC言語で作ったプログラムを、他のコンピュータ用に移植しやすいということを大きな特長としていました。しかし、方言の発生と相まって、満足な可搬性が維持できなくなってきます。
そこで当然の流れとして、C言語の世界標準規格を決めようという動きがおこります。言語の仕様を全世界で共通化しようとするのですから、その作業はとても慎重なものとなりました。国際標準化機構 ISO(International Organization for Standardization)と、米国国内規格協会ANSI(American National Standards Institute)が、協力して作業を行ったのです。
1989年12月には、米国内の規格である
ANSI X3.159-1989, American National Standard for Information Systems - Programming Language-C
が制定され、1990年12月には、世界規格である
INTERNATIONAL STANDARD ISO/IEC 9889 : 1990(E) Programming Languages-C
が制定されました。これらは、体裁は違うものの、内容としては全くの同一のものです。
さらに、日本では、やはり同一の内容をもつ規格である
JIS X3010-1993 プログラミング言語C
が1993年に制定されました。
標準Cの改訂
標準Cは、10年の歳月を経て改訂されました。1999年12月1日に
INTERNATIONAL STANDARD ISO/IEC 9889 : 1999(E) Programmin Language-C (Second Edition)
が制定されました。
戻る