我应该迁移到新的Delphi XE Starter吗?

14

我是一名Turbo Pascal/Borland Pascal/Delphi开发人员,从1987年开始。目前,我只使用Delphi来维护我(和我的一些朋友)私下使用的旧工具。不幸的是,所有我的专业代码都已被移植到其他开发语言和环境中,其中一些甚至是由我直接参与的,很遗憾。好吧,对于这个跑题的介绍,我很抱歉。让我谈谈我的问题。

我目前拥有Delphi 7专业版。它是一个昂贵的选择,它的成本远不值得,只适用于我的业余使用。

现在,这个XE入门版出现了。以149欧元的价格,它看起来是一个很划算的交易。它似乎包含了我现在使用的几乎所有东西,还有一些我错过的东西,尤其是unicode和泛型。

您知道这个优惠中是否存在任何隐藏的(坏的)惊喜吗?那么,我应该留下还是离开呢?

你认为这样做的利弊是什么?

谢谢。


6
你需要考虑进价格的是:你将花费多少个晚上玩耍所有特性、学习新语言改进,以及检查旧代码以利用它们。我甚至并不是在挖苦你 :) - Leigh
3
这应该是一个社区维基页面。 - jachguate
1
如果你从事数据库编程,那么你可能会错过TClientDataSet和DBeXpress。 - jachguate
1
@Jachguate,现在已经不是这样了。一个问题只有在被编辑了足够多次之后才能变成社区维基。你不能一开始就标记它,因为没有人能表达人们选择何时设置它的标准。(那些没有人知道何时使用的选项是无用的选项。) - Rob Kennedy
@Rob 好的,也许我不太理解这里维基内容的概念...但是在像这样的问题上,我觉得每个人都发表答案并不是很有用,但我喜欢任何人编辑问题或答案,以获得完整的描述。在SO上是否可能实现这一点,还是我只是做了一个梦? - jachguate
显示剩余7条评论
13个回答

22

Starter最大的缺点是没有VCL源代码(在功能矩阵中没有提到,但在博客中讨论过)。


11
如果我是一个业余爱好者,用 Delphi 作为娱乐、探索和学习新东西的工具,那么我不会希望没有 VCL 源代码。文档和 F1 帮助只能带你走那么远,浏览代码是非常有价值的。 - Mikael Eriksson
3
缺乏 VCL/RTL 源代码和缺少 Ctrl+Shift+C 快捷键肯定会使这个版本不值得购买。即使我的开源库可以与其兼容,我也不会购买它。:(而且我完全符合市场目标:用我的库不赚钱,我低于 1000 美元的限制。:) - Arnaud Bouchez
4
如果这个信息来源非常宝贵,你是否惊讶它只出现在价格较高的SKU中? - Jeroen Wiert Pluimers
3
这话说的没道理。这是一种设计为入门解决方案的廉价版。即使大多数 Delphi 库也会有一个不带源代码的廉价版和一个更昂贵、带源代码的版本。而且,你可以通过访问许多 Delphi 开源代码和文章来学习。像这样的说法只来自想要“贪婪版”的人。 - user160694
我喜欢“入门版”的想法。我不喜欢缺乏命令行工具或有限的数据库访问,但缺少VCL源代码不是我会要求“入门版”的东西。哦,我忘了自动完成——考虑到Delphi帮助文件的质量,没有自动完成就像蒙着眼睛开车! - Leonardo Herrera
显示剩余3条评论

11
如果您是使用Delphi 7的业余爱好者,最好尝试切换到FreePascal。它提供完整的源代码 :-)

1
我已经在使用(并且很喜欢)FP和Lazarus。谢谢您的建议。 - PA.

10

考虑到缺少 VCL 源代码及无命令行编译器,依我看来,Delphi 入门版是个非启动程序(NonStarter)。


命令行工具已经包含在内,参见:http://delphihaven.wordpress.com/2011/02/01/starting-starter/。我认为这也包括了命令行编译器。 - Marjan Venema
@Marjan Venema,请查看http://community.devexpress.com/blogs/ctodx/archive/2011/02/02/got-delphi-xe-starter-want-to-install-our-controls-tough.aspx。当我们调查是否可以轻松支持NexusDB与Delphi Starter时,我们遇到了相同的问题。 - Thorsten Engler
@Thorsten:谢谢,我还没有看到过这个...(而且它对我很有用,我使用你的NexusDB!) - Marjan Venema
@Thorsten:真遗憾。这意味着你必须使用IDE进行日常构建过程。 - Marjan Venema
哦,我不知道有命令行编译。对我来说这非常重要!!我使用完整的自动版本控制、文档和编译链来“make”我的大部分工具。 - PA.

8

唯一的缺点是,如果你正在使用大量第三方组件,特别是它们自从 Delphi 7 以来就没有更新过,那么 Unicode 迁移可能会是一个重大障碍。

除此之外,没有理由不进行升级,因为有很多好处。泛型、Unicode、枚举器、扩展 RTTI、更新的操作系统支持、触摸等,更不用说未来版本的升级路径了。


3
不完全准确。我会查看更新的功能矩阵,以查看您现有的应用程序是否使用了 Starter 版本未包含的任何功能。如果您的代码依赖于 Starter 版本中没有的功能,则可能需要重新设计一些代码。 - Kenneth Cochran

5

TClientDataset也缺失了。 这可能会对您造成问题。


4

只有您可以确定哪些功能对您很重要。请参考Delphi XE功能矩阵(PDF)。它告诉您每个版本的Delphi XE中都有哪些功能。您还应该查看“新功能”文档,其中也包括了前三个版本的新功能链接(即使如此,这仍然无法回到Delphi 7)。


4
特征矩阵有误。VCL源代码被标记为已包含,但实际上并未包含。我简直无法相信他们会犯如此大的“错误”! - Arnaud Bouchez
2
特性矩阵没有说明任何东西包含源代码。最接近的是说,源代码的翻译可用,并且它说这个特性是在2010年引入的。由于包含源代码已经成为每个Delphi版本的特性,显然这不是特性矩阵所指的。 - Rob Kennedy

4

与Mason所说的相反,我认为真正的“优势”在于它将具备Unicode字符串。

如果你想在你的业余编程中处理Unicode,那么是的,可以进行升级。这就是我从Delphi 4升级到Delphi 2009的真正原因。

泛型确实很不错,但并非必需。理论上,除了Unicode之外,Delphi 7将能够编写大多数你想要的程序。


1
你一直都能够为Unicode编程。Delphi 2009带来的是VCL中内置的Unicode支持和增强的语言和库支持。但即使是Delphi 3也有WideString——这是COM所必需的。Tnt Unicode控件允许您在VCL中使用Unicode。 - Rob Kennedy
我已经尝试过TNT Unicode和本地VCL,拥有完整的本地VCL是值得的。 - Warren P

3

XE版本拥有更好的集成开发环境、Unicode编码以及对Vista和Win7的支持。如果我还在使用Delphi 7,我会选择它。


1
关于更好的集成开发环境(IDE)——这个问题值得商榷,因为它带有所有不必要的.NET组件和模仿VS的特点。 - Free Consulting
IDE的技术实现与其美观程度无关,也与它是否像其他人的IDE无关。你要么喜欢这个IDE,要么不喜欢,总的来说,我更喜欢它而不是Delphi 7中的那个。 - Rob McDonell
XE比Delphi 7更稳定、功能更强大,更重要的是它与Win32平台的变化保持最新。 - Warren P
一个更好的集成开发环境?当我从 Delphi 6 到 TurboDelphi ,我认为那是一个巨大的退步。它迫使我安装 MS-XML 库和 .NET 等等(即使它不需要它们,我事后也能够卸载它们而没有任何副作用)… 我不想/不需要 Visual Studio 的克隆。我使用 Delphi(或者最近更多地是 Lazarus),因为它不是 Visual Studio。 - Noah

2
如果您主要是出于兴趣爱好而使用它,那么留在一个8年前的开发环境和一个没有很多新特性的语言不是一个好的选择。
如果您想学习新技术(应用于Delphi),甚至想将从其他环境获得的知识应用到Delphi世界中以使生活更轻松,则XE是一个不错的选择(正如您提到的Generics、Unicode、扩展RTTI、Touch等)。
现在,Starter是否是一个好的选择?这取决于您的需求。请查看功能矩阵(建议如此)并自行决定。
但就语言/IDE而言,绝对可以选择它。

好的,这是要感谢 Delphi 的原始开发者的,8 年后它仍然对 Windows 开发非常有价值。我维护一些桌面工具,文件管理工具,音乐和声音工具以及其他一些工具。 - PA.

1

那么64位代码呢?我认为即使XE也不能编译64位程序,这意味着程序的最大限制为4GB等等。希望他们很快发布XE的64位版本。


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