wpf - 新项目的 Delphi vs C# & WPF?

标签 wpf windows delphi programming-languages new-project

<分区>

您会考虑将 Delphi 2010/XE 用于开发新的 Windows 桌面项目,还是认为它与 .Net 和 Microsoft 产品 (WPF) 的当前状态不符?

如果您会/不会使用它,请解释原因。

编辑

我同意最初的问题有点争论。然而,这是一个严肃的问题。我住在澳大利亚,我没有看到很多包含最近 delphi 经验的开发人员简历,所以当我说“死”时,我只是在质疑它是否是一个糟糕的选择,因为使用它的人越来越少。

最佳答案

我会选择您的团队习惯使用的工具,如果您可以同时选择两者,但是我会选择 Delphi 作为 Win 客户端...

部分事实是,全世界的 .Net 开发人员仍然多于 Delphi 开发人员(至于官方数字,应该有 150 万++ Delphi 开发人员——这是一个相当高的数字),还有其他事实导致 Delphi 可能是首选在客户端(桌面应用程序等...)...

  • native 代码/更快 - 无 JIT(对于复杂或非常依赖外部程序集的程序,启动时间非常慢)...
  • 半手动内存管理功能更强大(在许多情况下这是一个优势,在 .Net 端 GC 不允许您有足够的自由或灵 active ,除了在很多情况下是不确定的...)<
  • 没有(或更少)外部依赖(单个 .EXE 等...)
  • 更轻松的部署(真正的 xcopy)- 对于 .Net,您确实依赖 50/70MB++ RT 库和安全相关问题可能会很容易地束缚您... - -
  • Delphi 将其 RTLibraries(非常轻量级的)直接绑定(bind)到 WinAPI(本质上也是 .Net,但在一个更多/额外的托管层上)
  • 通过确定性对象/内存管理更快地执行程序/应用...
  • 在具体的语言(不是库)方面(除了 lynx 和一些小的差异)所有你可以用 C# 做的你可以用 Delphi 做的更容易阅读和更好组织的代码(标准 OOP 语言功能 + 泛型,匿名函数,reach RTTI/Reflection,出色的 IDE,丰富的库,以及对 64 位、多平台和其他糖的预先支持)...
  • Delphi 很像“蛋白质”上的 C++(这意味着您可以用 C++ 做任何您能做的事情,代码速度相同,但由于可靠的 vcl/rtl 框架非常类似于 .净一个(事实是他们实际上有同一个父亲,具有非常相似的语言/对象框架设计),...
  • 长期而强大的兼容性背景...

话虽如此,但我也喜欢使用 C#,虽然从不同方面来说,... 也应该说它们是出于不同的原因和目标而制作的工具。

Delphi 由程序员诞生,为程序员而生(1995/6 年),而 .Net/C# 一方面是由 MS 的“营销”诞生,另一方面是 Delphi 之父和伟大的 MS 团队为了取代 VB6,杀死Java,替换 COM 等...最后为当时(大约 2000 年++)停滞不前的(当时)MS 开发人员组合注入(inject)新鲜空气...

结果是 Delphi 缓慢但稳步地发展,而 .Net 非常“历史悠久”意味着它经常更新(有些非常酷),一些部分经常过时,一些方向也改变,提供对很多人来说非常不稳定等...

今天你有了 .Net/C#,它给了你 10 多年前你可以用 Delphi 做的事情,但速度较慢(代码)而且部署更糟糕(dll 又是 hell ,对吧?)...

干杯, B.

关于wpf - 新项目的 Delphi vs C# & WPF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4210683/

相关文章:

c# - 当我实现 MVVM 时,如何更新 WPF 数据网格中的一行? (没有任何按钮)

c++ - 在 Windows 上使用 C++ 删除文件

Delphi XE7 的 C++ 函数

delphi - 反转数组中的字符串

c# - 在MVVM中处理事件时如何发送事件处理程序的第二个参数?

c# - 错误 : System. Windows.Controls.UIElementCollection' 不包含 'OfType' 的定义

wpf - 在确切的关键帧停止 Storyboard

在 Windows 8.1 中找不到 Windows Media Player

windows - 如何修复 "an error occurred while attempting to load the signing certificate from"PFX 文件?

android - 如何在 android 上安装 Firebird 驱动程序以便我可以连接 FireDac