web-dev-qa-db-ja.com

Object Pascal対Delphi?

Object PascalとDelphiの違いは何ですか?それらは同じものですか?それらの違いと類似点は何ですか?どれがより便利ですか?

29
Tracing

Object Pascalは、Appleが開発したPascalのオブジェクト指向の拡張機能です。 Delphiの最初のバージョンはTurbo Pascalから発展しました。 Turbo Pascalのオブジェクト指向機能は、当然、目的に適さないと見なされていました。そのため、ボーランドはDelphi 1を開発し、Apple Object Pascal言語の多くを組み込んでいました。そのため、Delphi製品の言語は当初Object Pascalという名前でした。

AppleはObject Pascalの開発を中止し、当初の意図どおりに標準化されることはありませんでした。 Delphi 6のリリースでは、ボーランドは言語名をDelphiに変更することを選択しました。

あなたは質問をします:

Object PascalとDelphiの違いは何ですか?

ただし、元のObject Pascalは明確な形で存在しなくなっているため、それほど意味がありません。 Appleはそれを放棄しました。広く使用されている言語のようなObject Pascalの現存する実装は、Delphiとそれが生み出した言語(FreePascal、Oxygene、DWSなど)だけです。

したがって、「DelphiとFreePascalの違いは何ですか?」現在、Object Pascalは、この関連する言語のファミリを指すために緩く使用されています。

32
David Heffernan

Object PascalはPascalの拡張機能です。 Delphiもその1つであるObject Pascalにはいくつかの方言があります。 History of Pascal に関するかなり完全な記事を以下に示します。 Free PascalやDWSは含まれていません。 Free Pascalは、Delphiのオープンソースでクロスプラットフォームのクローンになることに焦点を当てています(私はそれを知っている数人の人を怒らせたと思います)。

Object Pascalの各方言は、物事を追加し、少し異なる方法で物事を実装します。

したがって、Pascalは言語のファミリーであり、Object Pascalはサブファミリーであり、DelphiはObject Pascalのサブファミリーです。

Evolution and Influence of Pascal

23
Jim McKeeth

すでに述べたように、Object PascalはApple承認されていない標準案から派生しており、それを借用する方言で引き続き使用されています。Delphiで使用されているすべての方言のほとんど。

オブジェクト指向のTurbo Pascalバージョンは、私が知る限りObject Pascalとも呼ばれていましたが、「オブジェクトを使用したPascal」と呼ばれることもありました。 Turbo Pascalオブジェクトの実装からAppleプロポーザルへの関係があるかどうかはわかりません。Appleから借りた主な側面はそのオブジェクトのようですインスタンスは常に暗黙的な参照です。

Borlandは言語をDelphi言語と呼びます。したがって、Object Pascalの正確な同等物はDelphi言語ではありませんDelphi

多くの国でDelphiは登録商標であるため、ボーランドがその名前を変更した後でも、ほとんどの互換性言語はObject Pascalとして言語を参照し続けました。ボーランドによると、名前の変更は主に「パスカル」が市場での「古い」と同じくらい多すぎるために行われたと言われています。 「Object Pascal」は商標登録できなかったためだと言う人もおり、名前の変更は反競争的な措置でした。 (私は偏執狂ではありません、これはFreePascalを対象としたものではないと思います。それは当時は脅威ではありませんでした。もし真実なら、それはおそらくPocketstudioやGardens Pointのような組み込みスタートアップに対するものでした)

7

ボーランドはDelphiの最初のバージョンではプログラミング言語にObject Pascalという名前を使用していましたが、後にDelphiプログラミング言語に名前を変更しました。ただし、Object Pascalとの互換性があると主張するコンパイラは、Delphiソースコードとの互換性を維持しようとすることがよくあります。 Delphiは商標登録されているため、互換性のあるコンパイラはObject Pascalという名前を使用し続けました。

私の知る限り、Object PascalはDelphiの背後にある言語の名前です。 Delphi自体はIDE(統合開発環境)です。その意味で、Object PascalはDelphi(およびLazarus)向けであり、Objective CはxCode向けであると言えます。さらに、Delphiも知られていますRAD(迅速なアプリケーション開発)IDEとして。これが役に立てば幸いです。

0