对象Pascal vs Delphi?

对象Pascal vs Delphi?,delphi,pascal,Delphi,Pascal,对象Pascal和Delphi之间有什么区别?它们是一样的吗?它们之间的区别和相似之处是什么?哪一个更有用?Borland在Delphi的第一个版本中使用了编程语言Object Pascal的名称,但后来将其重命名为Delphi编程语言。然而,声称与Object Pascal兼容的编译器经常试图与Delphi源代码兼容。由于Delphi是商标,兼容的编译器继续使用Object Pascal这个名称。Object Pascal是Apple开发的Pascal面向对象的扩展。Delphi的第一个版本是

对象Pascal和Delphi之间有什么区别?它们是一样的吗?它们之间的区别和相似之处是什么?哪一个更有用?

Borland在Delphi的第一个版本中使用了编程语言Object Pascal的名称,但后来将其重命名为Delphi编程语言。然而,声称与Object Pascal兼容的编译器经常试图与Delphi源代码兼容。由于Delphi是商标,兼容的编译器继续使用Object Pascal这个名称。

Object Pascal是Apple开发的Pascal面向对象的扩展。Delphi的第一个版本是从Turbo Pascal演变而来的。Turbo Pascal中的面向对象特性被正确地认为不适合使用。因此,Borland开发了Delphi1,并融入了苹果对象Pascal语言的大部分内容。因此,Delphi产品的语言最初命名为Object Pascal

苹果公司停止了开发对象Pascal,它也从未像最初预期的那样被标准化。对于Delphi6的发布,Borland选择将他们的语言重命名为Delphi

你问的问题是:

Object Pascal和Delphi之间有什么区别

但这并不是很有意义,因为原始对象Pascal不再以独特的形式存在。苹果放弃了它。目前唯一广泛使用的类对象Pascal语言的实现是Delphi及其启发的语言:FreePascal、Oxygene、DWS等


因此,一个更好的问题是“Delphi和FreePascal之间有什么区别?”如今,Object Pascal被松散地用来指代这一系列相关语言。

正如前面所说,Object Pascal源于一个从未被批准的苹果标准提案,并且仍然用于借用它的方言。最重要的是德尔菲使用的方言

据我所知,面向对象的turbopascal版本也被称为objectpascal,尽管有时被称为“带对象的Pascal”。我不知道Turbo-Pascal对象的实现是否与苹果的提议有关。借用Apple的主要方面似乎是对象实例总是隐式引用

Borland调用语言Delphi language,因此对象Pascal的确切等价物是Delphi语言而不是Delphi


由于Delphi是许多国家的注册商标,大多数兼容者一直将该语言称为Object Pascal,甚至在Borland将其重命名之后。据Borland称,之所以改名,主要是因为“Pascal”在市场上与“old”等同太多。有人说,这是因为“Object Pascal”无法注册商标,因此重命名是一种反竞争措施。(我不是偏执狂,我不认为这是针对FreePascal的,当时FreePascal没有任何威胁,如果是真的,可能是针对Pocketstudio和Gardens Point等嵌入式初创公司)

Object Pascal是Pascal的扩展。宾语帕斯卡语有很多种方言,德尔菲语就是其中之一。这是一篇相当完整的文章。它不包括免费的Pascal或DWS。FreePascal专注于成为Delphi的开源和跨平台克隆(我确信我已经冒犯了一些人)

对象Pascal的每种方言都添加了一些东西,并实现了一些不同的东西

所以Pascal是一个语言家族,对象Pascal是它的子家族,Delphi是对象Pascal的子家族


据我所知,Object Pascal是Delphi背后的语言名称。Delphi本身就是IDE(集成开发环境)。从这个意义上讲,您可以说对象Pascal对于Delphi(和Lazarus)来说就像目标C对于xCode一样。此外,Delphi也被称为RAD(快速应用程序开发)IDE。我希望这能有所帮助。

Object Pascal过去是语言,Delphi过去是IDE,但后来他们将Delphi改为也指语言;在德尔福的世界里不再使用了。现在都是德尔福了。Free Pascal仍然使用它,我想。这里是一个很好的概述。对象Pascal是伞词,最好是Delphi,你最熟知的最好是“Delphi”作为编译器名称和“对象Pascal”作为语言名称。就我所知,Borland在2002年仅仅因为市场原因而重新命名了他们的语言。+1是关于Object Pascal的历史以及随着时间的推移该名称的不同用法。人们可能对此感兴趣。您甚至可以下载源代码用于非商业用途。David Hefferman:现在ISO 7185 Pascal即将完成,主要缺少(实用)方言是扩展Pascal。(第二个ISO标准)。@David:这是一个极好且明智的回答。你能透露消息来源吗?当做SF@Steve来源是我的记忆。@Abelisto:ist许多人忘记了tp5.5的推出,因为微软刚刚推出了一款具有面向对象扩展的竞争产品(QuickPascal)。我只是想提一下。。Turbo Pascal 6.0引入了Turbo Vision应用框架。正如Jeroen所说,带有OO的TP和BP版本被称为带对象的Pascal,而不是Object Pascal。Turbo Pascal采纳了苹果ObjectPascal提案的一些概念,但也稍微改变了一些东西。Delphi和Free Pascal也是如此。winsoft PocketStudio不是真正的对象Pascal。它扩展了Pascal中的一些ObjectPascal概念,但既没有类,也没有继承或多态性。现在回想起来,“with objects”不是指RTL和TV源吗?它真的是指语言吗?我隐约记得BP7的情况,这是一个非常有趣的数字。我还建议添加Algol 60、Algol 68和Algol W。事实上,Free Pascal支持所有三种类型的对象Pascal(Apple、TP(它比Delphi更兼容)和