升级到 D2009(Unicode 除外)的主要动机是什么?
当谈到开发工具时,我是一个犹豫升级者。 对于大约一半的产品,我仍然使用 D7,而对于其他产品,我仍然使用 D2006。
事实是,尽管 Unicode 支持非常受欢迎并且非常有用,但它可能会给我当前的项目带来更多的麻烦而不是收益(它们或多或少已经准备好 Unicode)。 尤其是其中一个的情况,如果每个字符串占用以前两倍的内存,性能就会受到很大影响。
那么,除了 Unicode 之外,升级的其他主要动机是什么?
I'm a hesitant upgrader when it comes to development tools. For roughly half of my product I still use D7, and for others D2006.
The truth is, although Unicode support is more than welcomed and very useful, it could cause me more troubles than gains with my current projects (they are more-or-less Unicode ready already). It's especially case with one of them who's performance would suffer a lot if each string takes twice as much memory as before.
So, Unicode aside, what are other major incentives to upgrade?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
为了正确地看待问题,请看一下 Delphi 7 和 Delphi 2007 之间添加的内容。这是一个显着的高水位线。
http://blogs.codegear.com/nickhodges/2007/03/28/ 33579
http://www.stevetrefethen.com/blog/VCLAndRTLEnhancementsSinceDelphi7D7.aspx
Delphi 2009 设定了更高的标准。
http://blogs.codegear.com/pawelglowacki/2008/11/03/ 38527
http://blogs.codegear.com/chrispattinson/2008 /09/19/38897
以下是我最喜欢的一些:
RTL 中的泛型(自然)和泛型集合。
改进了从公共基本配置继承的构建配置。
DataSnap 改进,包括删除 COM 依赖项。
比 Delphi 2007 更快、更稳定的 IDE,Delphi 2007 也毫不逊色。
我不确定如何在生产中使用它们,但你必须承认匿名方法真的很酷。 我很好奇人们最终如何将它们与线程一起使用。
关于 Unicode 支持,只有两件事(我最喜欢的另一件事)。
当您转换现有的 Unicode 项目时,您可能会看到性能的显着提高。 我知道我做到了。
在转换任何对字符大小进行假设的代码时,您需要小心。 如果您现有的代码支持 Unicode,您可能不会遇到很多问题。
http://dn.codegear.com/article/38437
http://dn.codegear.com/article/38498
http://dn.codegear.com/article/38693
To put things in to perspective, look at the things that were added between Delphi 7 and Delphi 2007. This was a significant high water mark.
http://blogs.codegear.com/nickhodges/2007/03/28/33579
http://www.stevetrefethen.com/blog/VCLAndRTLEnhancementsSinceDelphi7D7.aspx
Delphi 2009 sets the bar even higher.
http://blogs.codegear.com/pawelglowacki/2008/11/03/38527
http://blogs.codegear.com/chrispattinson/2008/09/19/38897
Here are some of my favourites:
Generics (naturally) and generic collections in the RTL.
Improved build configurations where they inherit from a common base configuration.
DataSnap improvements, including removing COM dependencies.
Faster and more stable IDE over Delphi 2007, which was no slouch.
I'm not sure how I'm going to use them in production, but you have to admit that anonymous methods are really cool. I'm curious to see how people wind up using them with threading.
Just two things about Unicode support (another favourite of mine).
You will probably see a significant performance improvement when you convert your existing Unicode projects. I know I did.
You will need to be careful about converting any code that makes assumptions about character size. You probably won't see many problems if your existing code is Unicode aware.
http://dn.codegear.com/article/38437
http://dn.codegear.com/article/38498
http://dn.codegear.com/article/38693
首先,我认为您不会注意到性能受到如此大的影响。
看看这个
我会说只是仿制药就值得升级。 其次是匿名方法。
First of all I don't think you're going to notice that much of a performance hit.
Have a look at this
I'd say just generics make it worth the upgrade. Followed by Anonymous methods.
我最近从 Delphi 4 升级到 Delphi 2009,主要是因为 Unicode,但也因为自我的版本以来 Delphi 中到处都有许多改进。
但升级时最让我高兴的意外改进是新的IDE(集成开发环境)。 Delphi 7 和以前的版本有一个未固定的布局,这让我抓狂。 现在它是一种可以轻松调整大小和移动的停靠表单。 更不用说它的许多改进使每项编程任务都变得更加容易。 请记住,您将所有编程时间都花在 IDE 上,因此每一件变得更简单的小事情都可以节省时间。
调试和单步执行代码时,默认情况下会监视所有局部变量。 这非常有帮助。
FastMM 内存管理器是内置的。
我现在安装了 Delphi 4 和 Delphi 2009,我可以运行其中之一,甚至同时运行两者。 这在转换我的程序时非常有用,因为我可以一起调试和单步执行这两个程序,以确保转换后的程序正常工作。
此外,Embarcadero 仍然为所有以前的版本所有者提供了 Borland 和当时的 Code Gear 所做的特殊升级价格。 他们没有必要这样做,但这对他们来说是一个伟大的举动,将 Delphi 的早期采用者视为他们的 VIP。
我不喜欢什么? 嗯,Delphi 4 在 2 秒内就启动了。 Delphi 2009 大约需要 15 个小时。但之后就很快了。 此外,单步执行代码更频繁地进入 CPU 代码,因为它通常是内联的,我认为没有任何办法可以解决这个问题。
如果您需要 Unicode,请立即升级。
如果您不需要 Unicode,Delphi 7 及更早版本仍然有足够的改进,值得最终跳转。
I recently upgraded from Delphi 4 to Delphi 2009, primarily because of Unicode, but also because of the many improvements everywhere in Delphi since my Version.
But the unexpected improvement that pleased me the most when I upgraded was the new IDE (Integrated Development Environment). Delphi 7 and previous versions had an undocked layout that drove me crazy. Now it is one docked form that can be resized and moved around easily. Not to mention many improvements to it that make every programming task easier. Remember, you spend all your programming time in front of the IDE, so every little thing made easier is a time saver.
When debugging and stepping through the code, all local variables are watched by default. That is extremely helpful.
The FastMM Memory Manager is built in.
And I now have both Delphi 4 and Delphi 2009 installed, and I can run either one, or even both at the same time. That was extremely useful when converting my programs, because I could debug and step through both together to ensure the converted program was working right.
Also, Embarcadero still gives a special upgrade price that Borland and then Code Gear did for all previous version owners. They didn't have to, but that is a great move on their part to treat the early adopters of Delphi as their VIPs.
What don't I like? Well, Delphi 4 started up in 2 seconds. Delphi 2009 takes about 15. But it's fast after that. Also stepping through code goes into the CPU code much more often because it is often inlined, and I don't think there's any way around that.
If you need Unicode, don't think twice about upgrading.
If you don't need Unicode, there are still enough improvements from Delphi 7 and earlier to make it worthwhile to finally jump.
正如史蒂夫所说,主要语言的增加是一个很大的优势。 但还有一件事。
过去几年,德尔福一直处于暴风雨天气中。 版本也反映了这一点。 7 是最后一个好的版本,2006 年是合理的,但仍然低于平均水平。 但现在,2009 年一个新时代已经开始。 德尔福找到了新家。 重点又回到了成为最好的开发工具。 仍有一些积压需要解决,但就我而言,德尔福又回到了上升的轨道。
As steve said, the major language additions are a big plus. But there is an other thing.
Delphi had been in stormy weather the last years. And that was reflected by the versions. 7 was the last good version, 2006 was reasonable, but still below average. But now with 2009 a new era has started. Delphi has found a new home. And the focus is back on being the best development tool there is. There is still some backlog that needs to be solved, but as far as I am concerned Delphi is back on the way up.
Delphi 2009 已被证明比 Delphi 2007 稳定得多,仅对我来说就足以升级,delphi 2007 的错误和崩溃非常烦人和压力。
Delphi 2009 has proven to be much more stable than Delphi 2007, that alone for me would be enough to upgrade, delphi 2007 bugs and crashes are very annoying and stressful.
2件事。 稳定性比 2006 和 2007 好得多。(更不用说它安装速度更快,运行速度更快,并且不会出现占用数百兆 RAM 的令人讨厌的内存泄漏。)仅此一点就值得放弃后两者中的任何一个版本. 但至于语言的改进,有很多值得讨论的地方,而且已经讨论了很多,但对我来说,皇冠上的宝石是通用支持,尤其是新的内置 Generics.Collections 单元。 最后,不再有我们都熟悉的这种丑陋的习惯用法:
相反,如果您将 MyObjectList 声明为基于泛型的
TObjectList
,它会为您处理类型转换,并且它抛出一个免费的枚举器(又名迭代器)作为包的一部分。 您的循环现在看起来像这样:Unicode 和匿名方法很好,尤其是 Unicode 对于某些人来说可能是必不可少的,但就我个人而言,我最喜欢的改进是丑陋的列表访问的结束。
2 things. The stability is much better than 2006 and 2007. (Not to mention it installs faster, runs faster, and isn't full of nasty memory leaks that eat up hundreds of megs of RAM.) That alone is worth ditching either of the last two versions for. But as for the language improvements, there's a lot to talk about, and it's been talked about plenty, but for me the crown jewel is the generic support, and especially the new built-in Generics.Collections unit. Finally, no more of this ugly idiom that we're all familiar with:
Instead, if you declare MyObjectList as a generic-based
TObjectList<TMyObjectType>
, it takes care of type conversions for you, and it throws in a free enumerator (AKA iterator) as part of the package. Your loop now looks like this:Unicode and anonymous methods are nice, and Unicode especially may be essential for some people, but personally my favorite improvement is the end of ugly list access.
Nick Hodges 发布:
从 Delphi 7 升级的十大理由
其中包括:
在他的结论中,他说:
“写这篇文章最困难的部分是将其限制为仅 10 条”,
然后他列出了 24 条其他内容(不算 Intellimouse 两次)。
Nick Hodges posted:
Top Ten Reasons to Upgrade From Delphi 7
They include:
In his Conclusion he said:
"the hardest part about writing this article was limiting it to only ten"
and then he lists 24 other things (not counting Intellimouse twice).
我刚刚试了一下通用集合和增强的 For 循环(不要介意代码的视觉丑陋(例如 if-then-else 在一行上)):
在远离 Delphi 三年之后,Delphi 似乎正在消亡那时,我想我可能会回到这个可爱的世界。
我的最伟大的Delphi项目似乎因不是Unicode而受到困扰 -准备好了,但是 Unicode 也是很棒的东西,所以我只需要修复几个地方的代码。 昨天我还设法让它构建并执行而没有错误(似乎涉及某种 D2007->D2009 转换技巧),并且我注意到 D2009 速度非常快! 它在(几乎*)各个方面都比旧版本更好。
*我还没有发现回归。
I just gave the Generic Collections and the enhanced For-loop a spin (don't mind the visual ugliness of the code (e.g. if-then-else on one line)):
After three years of staying away from Delphi, which seemed dying back then, I think I might return to this lovely world.
My greatest Delphi project seems to suffer from not being Unicode-ready, but Unicode is great stuff too, so I'll just have to fix the code in few places. Yesterday I also managed to get it to build and execute without errors (seems there was some sort of D2007->D2009 transition trickery involved) and I noticed that D2009 is just EXCELLENTLY FAST! It's better than the older versions in (almost*) every aspect.
*I have not found regressions YET.
到目前为止,对我来说最重要的激励是 IDE 与 Delphi 2006 和同一项目相比的整体速度。
The by far most important incentive to me was the overall speed of the IDE in comparison with Delphi 2006 and the same project.
重构——提取方法、移动类、提取接口、可以提高代码和设计质量的操作,是新版本 IDE 中的一个非常好的功能。
Refactoring - extracting methods, moving classes around, extracting interfaces, operations which can improve code and design quality, are a very nice feature in newer versions of the IDE.