Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
开发者_如何学编程Closed 9 years ago.
Improve this questionI have made the question "community wiki" - it is subjective.
I have upgraded to Delphi 2009 because of unicode support. I have found the anonymous methods a very interesting and useful language feature, I can't say the same about generics. The generics seemed important for me before the upgrade to Delphi 2009, but I have never used them and probably will never use. As for Delphi 2010, I don't need the attributes and I don't like the whole idea of extended RTTI - that is why Delphi 2009 is better for me. Sometimes I hit one or other annoying bug in Delphi 2009 IDE, but they are not critical and I can live with them. I have no plans to develop software for Mac or Linux. Sure sometime I will need 64-bit support, so I think about upgrading to Delphi 2012 (XE2).
Are where any more reasons that can force me to upgrade from Delphi 2009?
Well, you seem to have it all worked out already. Probably the biggest difference, if you're not interested in the RTTI or in touch (which nobody seems to care much about) is the improved Generics. If you're not using them, you really should be. Generics are one of those features that you don't really see the use for until you start working with them, but then you start seeing things to use them for everywhere. They make all sorts of things much, much simpler... when they work. Unfortunately, Generics support is kinda broken in D2009, but they fixed it up for 2010.
Also, even if you don't use RTTI yourself, there's a lot of development work being done on libraries that use it. DeHL, for example, which provides a ton of useful containers and other classes, only supports D2010.
All in all, it's worth updating from D2009 to D2010. If you have no interest in cross-platform, you may want to skip D2011, but I wouldn't skip D2010.
The Embarcadero wiki has a list of most of the improvements. Delphi 2010 is really about polishing what they already have, and I'd suggest upgrading just for bug fixes, if nothing else. The cross-platform and 64-bit support is bound to be disruptive, so if you want to give that time to shake out, you should go with the most stable version available.
There are also lots of tweaks to the debugger and IDE to make you more productive. Individually none of them are really big bangs, but together it's a nice improvement.
And once you start using Generics in 2009, you're going to find yourself bitten by a massive, MASSIVE oversight in very short order: TList<T>
is missing Exchange
and Extract
methods. It's not a big deal for TList<T>
itself, but it's a major problem for TObjectList<T>
if your list is going to own the objects.
Not that I knew of. ;) I'd wait with an update until they ship the x64 compiler.
There are bugs unsolved since Delphi 1 (see Why do InvalidateRow and InvalidateColum suddenly not work? ). Why should I upgrade? To get the same nasty bugs? I don't want to pay for bugs.
Well I am almost reproducing answer of RRUZ here, cause it is exactly what i would reply. :) (Hope that he doesn't get angry) But I am adding some comments...
Verify this white paper from Andreano Lanusse. Reasons to Migrate to Delphi XE – What you might have missed since Delphi 7
Delphi 2010
- Windows 7, Multi-Touch and Gesture support, Direct-2D; I found only Direct-2D useful until now... and yet, only in special cases...
- IDE Insight, Source Code Formatter, Search task bar
- Background compilation
- Enhanced RTTI; like you, I don't found RTTI useful to me, yet
- Breakpoints in threads, freeze/thaw threads
- DataSnap – HTTP protocol support; If your application doesn't use HTTP protocol, this is useless
Delphi XE
- DataSnap – HTTPS, JavaScript, REST support
- Subversion integration; you can get this partially with JVCL...
- Regular Expression library; that is a useful thing. That I was missing since years ago..
- AQTime, CodeSite, Beyond Compare, Final Builder; that is a list of useful apps, but I am not sure of what you really get
- Cloud Services and Cloud Deployment;
Let's wait to new versions announcements to see what we can add to this list. :)
One thing that I must to add is that this month Embarcadero got a nice offer to upgrades, even if you are an oldIDEuser. Even if you are planing to upgrade later, maybe you should take a look, as after that, you will not get the discount price of upgrades...
Well, I will be somewhat critic on this I think...
The reasons to keep up to date with the Delphi versions are not fully technical. The point I'm afraid is: what if no one buys Delphi cause old versions are enough -technically talking- to satisfy their needs? Then is no longer business for Embarcadero, then Delphi dies.
The problem of course is the business model: Embarcadero should lower their prices, so everyone can buy a Delphi version, even old Delphi x.0 dinosaurs, even hobbyists stuck in Turbo Delphi 2006 or even the small businesses that are using Free Pascal out there; that way they can finance the investment in a longer term fashion and with a wider scope (they can target other platforms easily with more revenue).
When you go against common sense, it has a price to be payed. And that applies for the Delphi community members that do not buy Delphi to support Embarcadero development of the product, and that applies for Embarcadero too that is dropping a part of the market with a solid marketing power.
精彩评论