Edited at

Delphi 言語 / Object Pascal について


Delphi で使われる言語

現在 Delphi で使われている言語は「Object Pascal (おぶじぇくと ぱすかる)」と呼ばれています。

Delphi が話題になる際に「Delphi Language」「Delphi 言語」「Delphi」「Object Pascal」が入り交じっているので、整理しました。


言語名の変遷

バージョン毎の言語名は以下の通りです。

バージョン
言語名

Delphi 1.0~6
Object Pascal

Delphi 7~XE5
Delphi Language

Delphi XE6~現在
Object Pascal


第1 Object Pascal 期

まず、Pascal にオブジェクト指向が導入される歴史を見てみます。


  • 1983 年、Apple Computer 社が Lisa という PC を開発しているときに、Larry Tesler 氏と Niklaus Wirth 氏(Pascal の生みの親)によって Pascal にオブジェクト指向を導入した Clascal が開発されました。


  • 1985 年、Macintosh の開発に伴って、Clascal は Object Pascal に進化しました。


  • 1989 年、BorlandTurbo Pascal 5.5 に Apple Object Pascal を参考にオブジェクト指向を取り入れ言語を Object Pascal としました。


ここに、Apple による Object Pascal と Borland による Object Pascal が誕生しました。

なお、その後 Apple は Object Pascal を使わなくなったため、近年では Object Pascal といえば、Borland のものを指すようになりました。

そんな Object Pascal ですが、Turbo Pascal の子孫である Delphi にそのまま引き継がれ、Delphi でも Object Pascal という名称のまま使われる事になります。


Delphi Language 期

Delphi の進化に伴って Object Pascal はどんどん進化しました。

しかし、あるとき「これらの拡張仕様は Delphi だけしか使っておらず1、もう Pascal と呼べないのでは無いか?」となり、「Delphi Language (Delphi 言語)」と改称されました。

Delphi は環境名で、言語名は Delphi Language なのですが、区別無く Delphi と呼ばれることもありました。

下図は Delphi 7 のヘルプです。

この頃は、まだ Object Pascal という名称から Delphi 言語に完全に移行仕切れていない事が解ります(タイトルは Delphi 言語なのに、文法は Object Pascal)。

image.png


第2 Object Pascal 期 (現在)

未来永劫 Delphi Language という名称で行くのかと思いきや、ここで AppMethod2 が登場します。

AppMethod は Delphi から VCL 等を差し引いたマルチプラットフォーム専用開発環境です。

AppMethod では Delphi 同様 Delphi Language が使われるのですが、問題が発生します。

つまり、Delphi でしか使われなかったから Delphi Language という名前にしていたのに、Delphi 以外に Delphi Language を使う開発環境が爆誕してしまったのです。

そこで、今後の事も考え言語の名称を Object Pascal に戻しました。

下図はエンバカデロ・テクノロジーズのウェブより抜粋。

image.png

さりげなく Anders Hejlsberg が書いてある…

ちなみに最新の Delphi 10.3 Rio でヘルプを出すと Delphi 言語と出ますが、赤枠で囲った様に Delphi 7 のマニュアルが載っているためです(該当箇所全部書き直すの大変だもんね…)。

image.png


まとめ

そんな訳で恐らく今後は Object Pascal から変更されずに、このまま行くと思いますので Delphi についての文章を書く際は言語名は「Object Pascal」として書いて頂けると助かります(ググラビリティの向上のため)。


追記


2019/02/04

Delphi 10.3 Rio の DocWiki にある他の文書(例えばコレ)でも Delphi Language って書いてあるし、Delphi Language のままなんじゃないの!?というツッコミをいただきました。

ということで、いま開発チームにどうなってるの?と問い合わせ中です。


2019/02/05

解答いただきました。

言語名はあくまで「Object Pascal」とのこと。

他の Object Pascal 処理系と比較して何かを語りたいときには「Delphi Language」を使う事もある、ということでした。





  1. 実際には Delphi 以外に Delphi Language をコンパイルできる製品は複数ありました。例えば Delphi との互換性の高さを目指していた Free Pascal や、Linux 版の Delphi として開発された Kylix 等です。 



  2. その後 AppMethod は廃止されました…