Object Pascal 和 Delphi 有什么区别?它们是一样的吗?它们之间有什么区别和相似之处,哪个更有用?
5 回答
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 被松散地用来指代这个相关语言家族。
Object Pascal 是 Pascal 的扩展。Object Pascal 有许多方言,Delphi 就是其中之一。这是关于帕斯卡历史的相当完整的文章。它不包括 Free Pascal 或 DWS。Free Pascal 专注于成为 Delphi 的开源和跨平台克隆(我相信我已经冒犯了一些人。)
Object Pascal 的每种方言都添加了一些东西并实现了一些不同的东西。
所以Pascal是一个语言家族,Object Pascal是一个子家族,Delphi是Object Pascal的一个子家族。
如前所述,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 这样的嵌入式初创公司)
Borland 在 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。我希望这有帮助。