c# - 对于 Windows 应用程序,c# 比 delphi/realbasic 有什么优势

标签 c# .net delphi realbasic xojo

<分区>

有没有人编写过比其 .NET 行李箱更大的应用程序? 人们曾经批评 VB6 的 2 MB 运行时,但它很少使它附带的应用程序相形见绌。

今天,尽管我的机器上安装了 Vista,但我还是不得不下载 35 MB 的 3.5 框架并重新启动,然后才能试用一半大小的应用程序。

当您考虑到源代码安全性降低时,我想知道为什么有人会在 .NET 中而不是在允许构建 native 可执行文件的语言中开发 Windows 应用程序。

在编写在 Windows 上运行的应用程序时,.NET 有什么优势可以掩盖这些缺点?

最佳答案

人们:请注意,这篇文章写于2009 年 2 月当时所说的是恰当的 - 在 2012 年底(3 年多)对我大吼大叫后来)是没有意义的。 :-)

Delphi 对于 Win32 有一些相当大的优势。并不是说 .NET 应用程序天生就不好,而是尝试:

  • 在 .NET 不存在的 Win95/ME 上运行 .NET 应用程序(任何版本)(据我所知)
  • 分发任何小型 (< 1.5 MB) .NET 应用程序(是的,软盘驱动器仍然存在)
  • 在无法访问互联网的系统上提供任何 .NET 应用程序(是的,它们存在)
  • 在没有广泛使用高带宽的国家/地区分发您的 .NET 应用
  • 不花很多钱就可以防止人们看到您的源代码(反射(reflection),有人吗?)

.NET 中的垃圾收集可能非常好,但任何了解编程的人也可以使用 Delphi 轻松处理内存的手动分配/释放,并且 GC 可用于引用计数接口(interface)。 VB 的伪 GC 难道不是让所有非程序员泛滥的原因之一吗? IMO,GC 是让 .NET 变得危险的原因之一,就像 VB 一样危险——它让事情变得太简单了,让那些真的不知道自己在做什么的人编写的软件最终变得一团糟。 (而且,在我在这里被烧死之前,对于那些的人来说,这很好,他们也知道他们在做什么,VB 也是如此;我只是不太确定这样做的优势熟练的人比不熟练的人对我们的危害更重要。)

Delphi Prism(又名 Rem Objects Oxygene,以前称为 Chrome)提供了那些需要它的人正在寻找的 Delphi 的 GC 版本,以及 ASP.NET 和 WPF/Silverlight/CE,具有可读性(并且没有花括号) )的德尔福。对于那些 Unicode 支持不是主要因素的人(比如我),Delphi 2007 提供了 ASP.NET 和 VCL.NET,以及 native Win32 支持。而且,在我工作的地方,当工作站仅(至少)每三年升级一次时,我们刚刚摆脱了最后一台 Win95 机器,因为它不是升级的优先事项,.NET 框架是一个问题。 (特别是公司代理要求只允许少数人访问互联网,限制带宽和下载能力,以及不允许使用 USB 设备的适当的非管理员帐户,所有这些仍然在 Netware 网络上运行——没有 Windows 更新之类的东西,和到目前为止还没有病毒,因为没有任何东西进入。)

我从事一些 .NET 语言(C#、Delphi Prism)的工作,但全职和兼职的主要工作来自 Win32 和 Delphi。

关于c# - 对于 Windows 应用程序,c# 比 delphi/realbasic 有什么优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/548007/

相关文章:

c# - 在 .net 2 中生成唯一集的最快方法是什么

c# - 使用 Windows 函数制作窗口模态

.Net Core 中的 MySql.Data.MySqlClient.MySqlException : 'Unable to connect to any of the specified MySQL hosts.

delphi - 为参数化查询的参数赋值时出现赋值错误

c# - 从 CGI 脚本调用时 Mono 挂起

c# - NHibernate 中的延迟加载是什么?

c# - 可以将 IQueryable<Derived> 转换为 IQueryable<Base> 吗?

c# - C# 中 TransactionScope 的奇怪行为

delphi - Delphi 2009 编译器如何处理递归内联方法?

delphi - 限制 Outlook 不返回任何内容的方法