Delphi 2006 Pro: A Review
Sometimes I think Borland should change its name to Pheonix, because of its remarkable ability to repeatedly rise again from the ashes of its own funeral pyre. As it was losing revenues and market share in the C++ Windows market,
Probably, but only time will tell. Despite the foolish conceits of fortune tellers and hedge fund managers, the future is a dark opaque mist totally concealing the fate of men. What I can tell you is what I’ve concluded as I use Delphi 2006 Pro for development on a Win32 desktop application I’ve been working on as a hobby in my spare time. This means this review is very slanted, as it only considers those things of interest to someone using D2006 Pro to write a Win32 application in the
My verdict on Delphi 2006 Pro? I think this is the best release of
1) Code compiled with D2006 is more robust and up to 40% faster than code compiled with
2) The IDE is robust. Lately,
3) The integrated debugger is improved. One of the benefits of switching to the FastMM memory manager is that FastMM keeps track of and reports on memory overwrites and similar errors ( for example, I recently got this message logged to my event log: Debug Output: HEAP: Free Heap block 1b7110 modified at 1bae6c after it was freed Process JSN.exe (2248) ). In addition, the debugger now shows you your data structures in tree form at breakpoints, and lets you see all the local variables at each level of the stack trace. Debug browsing hints are fast and responsive. You can now detach from processes, not just attach to them. In addition, you can “Set Next Statement”, which allows you to move the instruction pointer forward or backward to any active line, during integrated debugging. This can be quite useful if you want to stop, change a variable and then run a section of code again with the different value.
4) The IDE now has live code templates. Code templates are scriptable macros, and Delphi 2006 comes with a few dozen right out of the box. They are saved in XML format for easy editing and copying. Apparently someone at Borland has spent a great deal of time designing and fleshing out this feature, which greatly surpasses all the third-party macro tools you could find before. There is apparently a lot of power built into the scripting available for these templates, as exemplified by the template that completes a case statement by enumerating all the values of an enumeration variable as case values. As news of this feature gets around, we should expect a nice third-party virtual bazaar to materialize where people share their templates. Those of you that still yearn for tools like CodeRush to return to the
5) Delphi 2006 has extensive Refactoring and extended Find functionality. Though these both were introduced in D2005, they are both much more robust and complete in D2006, though not perfect. The ability to find and possibly change all instances of a particular symbol or method is invaluable, especially when it spans all units in a project. (While tools like Grep let you search for strings, they do nothing to keep from matching same-named symbols and methods in other classes.) The number of refactorings available in D2006 is surprisingly high and complete, though a few of the more elaborate ones depend on the integrated Together functionality, which is still a bit slow on all but the very fastest machines. The refactoring in D2006 almost rivals that provided by add-ins like CodeExplorer, though I still find myself using CodeExplorer on a continual basis.
6) Error Insight is one of my favorite features. It is like the grammar checking in Word, except for code. Once I figured out how to keep it from erroneously marking correct code (see http://groups.google.com/group/borland.public.delphi.ide.general/msg/ca0f361e9f8c2b64 ), I found this to be very useful. It is one of those things that becomes such an integral part of your coding that you only realize it when you have to descend to a lower version of
No comments:
Post a Comment