What are major incentives to upgrade to D2009 (Uni

2019-01-11 11:31发布

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?

10条回答
Deceive 欺骗
2楼-- · 2019-01-11 12:20

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.

查看更多
我只想做你的唯一
3楼-- · 2019-01-11 12:22

The by far most important incentive to me was the overall speed of the IDE in comparison with Delphi 2006 and the same project.

查看更多
The star\"
4楼-- · 2019-01-11 12:23

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:

for i := 0 to myObjectList.Count - 1 do
begin
  currentObject := myObjectList[i] as TMyObjectType;
  currentObject.WhateverYoureDoingWithIt;
  ...
end;

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:

for currentObject in myObjectList do
begin
  currentObject.WhateverYoureDoingWithIt;
  ...
end;

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.

查看更多
闹够了就滚
5楼-- · 2019-01-11 12:23

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.

查看更多
登录 后发表回答