皆さんこんにちは。今回もプログラミング言語の歴史について紹介していきます。
まず初めに紹介するのはC++です。
C++は、派生元であるC言語の機能や特徴を継承し、なおかつオブジェクト指向プログラミングや、データ抽象などの、複数のプログラミングパラダイム(プログラミングにおける模範)が組み合わされている言語です。
C++はC言語のようなハードウェアを直接扱う低水準言語と、複雑なアプリケーションソフトウェアを開発するための高水準言語の両方で使用できます。
C++(当時はC with Classes)は、AT&Tベル研究所の計算機科学者であるビャーネ・ストロヴストルップによって、1979年に開発が始まりました。
彼は大規模なソフトウェアの開発に役立つ特徴を、Simulaが備えていることに気づき、このSimulaの特徴を、C言語にも取り入れることにしました。
また、Simulaの他にも、ALGOL68やAda等の影響も受けています。
最初はクラス、デフォルト引数などの機能を、Cfront(C++の初期のコンパイラ)を通してC言語に追加し、1985年10月に商用リリースが始まりました。
C++は現在でも、大規模な業務システムの開発や人工知能、IoTシステムの開発などで用いられています。
次に紹介するのはObjective-Cです。
Objective-CはC言語をベースとして、Smalltalk型のオブジェクト指向の機能を持たせたC言語の上位互換と言える言語です。
また、macOSに標準付属する公式の開発言語です。
主にAppleのmacOSや、iOS上で動作されるアプリケーションの開発で利用されています。
Objective-Cは動的配列、動的辞書などの機能を持っており、インタプリタに近い記述力を持っています。
Objective-Cは1983年に開発されましたが、当時はマイナーな存在でした。
しかし、1985年にスティーブ・ジョブズがNeXT Computer社を創立したことで、徐々に認知され始めます。
しかし、Objective-Cは2014年にAppleによって発表されたSwiftの影響により、現在使用しているエンジニアは減少傾向にあります。
次に紹介するのはPostScriptです。
PostScriptは、Adobeが開発した1984年に発表されたページ記述言語です。
PostScriptは様々な計算・処理と同時に描画命令を実行することができます。
事前にデータをスタックに格納しておき、後の命令が格納したデータを処理するというモデルで実行されていきます。
PostScriptはほとんどの場合、レーザープリンターで実装されています。
実装されたものはPSプリンターと呼ばれ、PDFベースになったMac OS Xより前にMacintoshの標準的なプリンターであり、Windowsでも利用されることがあります。
しかし、Adobeへのライセンス料が高額なのが原因で、価格が数十万円~100万円以上と一般のレーザープリンターに比べて高価となっています。
現在PostScriptはPDFの影響により使用されることはほとんどありません。
次に紹介するのはEiffelです。
Eiffelは1985年にフランス出身のコンピュータ科学者である、バートランド・メイヤーによって考案されたプログラミング言語です。
言語名の由来はフランスのパリにあるエッフェル塔ではなく、エッフェル塔を設計・建設した人物であるギュスターヴ・エッフェルに由来しています。
Eiffelは多重継承や、ガベージコレクション(コンピュータプログラムが、動的に確保したメモリ領域のうち、不要になった領域を自動で解放する機能のこと)を機能として備えています。
しかし、Eiffelは同じオブジェクト指向という特徴をもつJavaほど普及はしていません。
Assertionなどは、JavaがEiffelを参考にして後から追加した機能はありますが、インターフェースによる継承、ガベージコレクションなど機能が被っている部分も多いです。
また、CやC++のようにネイティブコードを直接生成せず、C言語またはJavaのコードを生成するという特徴もあります。
現在Eiffelを使っているエンジニアは少ないと言えるでしょう。
今回はここまでとなります。
読んでいただきありがとうございました。