Object Pascal vs Delphi?

时间:2013-03-29 08:25:53

标签: delphi pascal

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

5 个答案:

答案 0 :(得分:32)

Object Pascal是Apple开发的Pascal的面向对象扩展。 Delphi的第一个版本是从Turbo Pascal发展而来的。 Turbo Pascal中面向对象的功能被认为是不合适的。因此Borland开发了Delphi 1并整合了大部分Apple Object Pascal语言。所以Delphi产品的语言最初名为Object Pascal。

Apple停止开发Object Pascal,它从未按照原定的标准进行标准化。对于Delphi 6的发布,Borland选择将其语言重命名为Delphi。

你问这个问题:

  

Object Pascal和Delphi有什么区别?

但这并不是太有意义,因为最初的Object Pascal不再以不同的形式存在。苹果放弃了它。 Object Pascal中现存的唯一一种广泛使用的语言是Delphi及其启发的语言:FreePascal,Oxygene,DWS等。

所以更好的问题是“Delphi和FreePascal有什么区别?”如今,Object Pascal被宽泛地用于指代这一系列相关语言。

答案 1 :(得分:23)

Object Pascal是Pascal的扩展。 Object Pascal有很多方言,Delphi就是其中之一。这是History of Pascal上相当完整的写作。它不包括Free Pascal或DWS。免费Pascal专注于成为Delphi的开源和跨平台克隆(我确信我已经冒犯了一些人。)

Object Pascal的每种方言都会添加东西并以不同的方式实现它们。

所以Pascal是一个语言系列,Object Pascal是子系列,Delphi是Object Pascal的子系列。

Evolution and Influence of Pascal

答案 2 :(得分:7)

正如已经说过的,Object Pascal起源于一个从未被批准的Apple标准提案,并且仍然用于从中借用的方言。最重要的是Delphi使用的方言。

据我所知,面向对象的Turbo Pascal版本也被称为Object Pascal,尽管有时也称为“Pascal with Objects”。我不知道Turbo Pascal对象实现与Apple提案之间是否存在关联。从Apple借来的主要方面似乎是Object实例总是隐式引用。

Borland称语言为 Delphi语言,因此Object Pascal的完全等价物是 Delphi语言而不是 Delphi

由于 Delphi是许多国家/地区的注册商标,因此即使在Borland重新命名后,大多数兼容性仍然将该语言称为Object Pascal。根据Borland的说法,据说重命名主要是因为“Pascal”在市场上与“旧”相提并论。有人说这是因为“Object Pascal”无法注册商标,因此重命名是一种反竞争措施。 (我不是偏执狂,我不认为这是针对FreePascal,当时没有任何威胁,如果是真的,那可能是针对像Pocketstudio和Gardens Point这样的嵌入式初创公司)

答案 3 :(得分:5)

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

答案 4 :(得分:0)

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