views:

288

answers:

6

I 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?

A: 

Not that I knew of. ;) I'd wait with an update until they ship the x64 compiler.

Sebastian P.R. Gingter
+7  A: 

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.

Mason Wheeler
Generics work a bit better for us, but we still find them glitchy in Delphi 2010. The crazy thing is that's what we were most excited for in 2009, then again, 2010, and we've found that we've still had to remove them from production code due to random crashes or worse unexplained compiler errors when using them.
Zartog
+4  A: 

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.

Craig Peterson
A: 

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.

afrazier
But Exchange and Extract are there in D2010...
Mason Wheeler
I suppose I should have mentioned that as the reason to upgrade from D2009. :-)
afrazier
A: 

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 afrraid is: what if noone 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 dinousaurs, even hobbysts stuck in Turbo Delphi 2006 or even the small businesses that are using FreePascal 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.

someone
A: 

There are bugs unsolved since Delphi 1 (see http://stackoverflow.com/questions/3979299/why-do-invalidaterow-and-invalidatecolum-suddenly-not-work/3979553#3979553 ). Why should I upgrade? To get the same nasty bugs? I don't want to pay for bugs.

Altar