Delphi和Delphi.NET之间的区别

14

我在编程方面比较新,想知道Delphi和Delphi.NET之间的主要区别是什么?希望能举一些例子来说明它们的差异,无论是语法还是结构方面。

顺便问一下,是否有适用于Delphi.NET的“简单易用”的编译器?(例如对于C ++而言,Dev C ++相对简单)


8
Delphi.NET 是一款已经终止开发的产品,您应该将其忘记。它只有一个编译器,由 Embarcadero 出售。请注意,此产品已不再可用。 - David Heffernan
1
通过 Embarcadero Prism,可以使用类似 Delphi 的语言进行 .NET 编程。虽然我从未使用过它,也永远不会使用。 - LU RD
1
@DavidHeffernan - Embarcadero仍在销售Delphi for .Net吗?现在还有人购买它吗?!? - RBA
1
@RBA,不是。David原评论中的关键词是“was”——Delphi 8是 Delphi for .NET 的终结,尽管 VCL for .NET 在其后的几个版本中幸存了下来。Delphi Prism 是当前 Delphi for .NET 开发的主要方式。 - Ken White
1
Delphi 8 for dotnet已经被弃用。但是RemObjects有产品可以让那些想要混合使用Delphi和dotnet的人使用。请参见http://www.remobjects.com。 - Roland Bengtsson
显示剩余3条评论
2个回答

16

Delphi是一种语言和集成开发环境,用于创建原生的Windows、Mac和iOS应用程序。

Delphi.NET是一个废弃的版本,用于生成.NET应用程序。当前使用Object Pascal语法创建.NET应用程序的替代方案是使用Embarcadero Prism


2
Delphi Prism在Embarcadero购买时实际上是“RemObjects的Oxygene”的一个重命名版本,未来甚至可能会重新变成RemObjects的“Oyxgene”或“Prism”。考虑到Prism在整个Delphi社区中的使用率非常低,我预计它将在未来五年内悄然从RAD Studio产品中消失,就像Blackfish SQL、ECO和其他已经死亡的东西一样。 - Warren P
哎呀,“不推荐使用”,“已经失效”……应该用 停用 这个词!尽管如此,Delphi.NET从未达到可接受的质量水平。 - OnTheFly
1
Oxygene Pascal(RemObjects)非常活跃。它是他们Elements语言包的一部分,您可以使用C#,Oxygene和Swift。您还可以编译为本机和WebAssembly。因此,它在侧面上得到了发展,与Delphi解耦。 - Jon Lennart Aasenden

2
区别很简单:Delphi最初是设计用于在Windows操作系统上创建应用程序,无需任何其他“解释器”。这意味着您可以在Delphi中开发应用程序,并且Delphi会生成所需的机器代码。
当.NET出现时,来自Borland的开发人员创建了一个独立的编译器,作为这种技术的一层,因此Delphi开发人员继续创建适用于该技术的应用程序,而不必学习新语言和新平台(或多或少)。
据我所知,唯一更加“Delphi”友好的工具是老版Borland的Delphi for .Net以及RemObjects的Prism编译器(也称为Oxygene)。

6
几个小问题。.NET不是一种“解释”语言(你的回答暗示了这一点),而Delphi for .NET也不是在Delphi之上的“层”。它是一个独立的编译器,可以产生真正的IL代码,与Borland.Delphi程序集结合后,生成真正的编译 .NET应用程序。(它们被编译并在目标系统上第一次运行时成为真正的可执行代码;而解释型应用程序从未实际编译,只是在运行时解释和执行。)我没有投反对票,但你的回答不准确。 :) - Ken White

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接