Delphi XE - The Good, The Bad and the Ugly

As a long time Delphi 7 user, I finally upgraded to XE.  It always takes a period of continuous use in the real world to get a feel for the environment, so I thought I would publish my experiences as a new user of XE, and my impressions for those contemplating an upgrade to this edition.  Most of my experience with a Galileo based IDE has been with Delphi 2007, so many of my comparisons will be between D7, D2007 and DXE.

The Good

XE is much faster than  any Galileo IDE I have previously used.  It’s form designer rivals D7’s in terms of performance, negating one of the reasons I refused to use Delphi 2007.  It’s compiler also seems to be much faster than D7’s and the code it generates also appears to be significantly faster.

I also love the debugger visualizers for TDateTime values.  Having to constantly create an expression using DateTimeToStr() to have a human readable value was a pain!

Of course, XE also comes with CodeSight Express, FinalBuilder, and BeyondCompare.  It has many incremental enhancements and some new features as well.  For the most part, I think EMB added the additional third party tools to make the upgrade more compelling because the IDE and compiler enhancements were not compelling enough on their own.  Most developers I think are waiting for the next version which to supposed to include X platform and Win64 support.

The Bad

The IDE does not appear to be as stable as Delphi 7.  In my first couple of days using the IDE I experienced multiple AVs in the RTL and VCL, and Eurekalog did not have an option to send an automated bug report, so I had to use the windows QC client and create one manually.  I wonder if EMB actually gets many of these issues reported as a result.

The code parser still blocks a developer from typing code while it parses the changes in the IDE.  IMHO this is an unacceptable limitation for an IDE.  A tool should increase a developer’s productivity, not stifle it by forcing them to wait until the editor is once again available, to accept further input.

Error Insight produces a lot of false positives so I have found it best to simply ignore it.

The F1 help still does not locate identifier help like D7 does.  For instance, pressing F1 with the cursor on IncMinutes doesn’t find DateUtils.

Unfortunately, DXE still suffers from the same problems I found in D2007.  It’s frustrating that functionality I found in CodeRush for Delphi beginning with Delphi 3 back in 1997 has still not found it’s way into the stock IDE.  For anything close, you have to use Castalia, GExperts, or CnPack (or some combination of them).

The Ugly

For some reason, when you launch Rad Studio XE it can take around 5 seconds on my machine before the splash screen appears.  I have found myself on occasion launching a second instance as a result of the delay between invocation and user feedback.  This is admittedly a minor irritation, but as a developer who invests a great deal of time ensuring his applications provide a high degree of responsiveness and user feedback, I think it shows a lack of polish.

I also like CompBar far better than the new palette.

Overall

Overall I would have to say that while DXE is not a leap forward, it is the best galileo based IDE to date, and certainly worth looking at even if you’re using a pre-galileo IDE and are happy with it.  While not a killer IDE, DXE is an improved platform that will form the basis for a lot of potentially exciting changes for Delphi.

Tags:

13 Responses to “Delphi XE - The Good, The Bad and the Ugly”

  1. Jolyon Smith Says:

    “Overall” - faint praise indeed. :)

    I have to say that D2007 is perhaps an unflattering Galileo IDE against which to compare DXE.

    Compared to D2005/2006, D2007 was a HUGE leap forward in stability and performance. D2009/D2010 and DXE haven’t really moved the bar much higher since then, so it isn’t that surprising to me that DXE was perhaps a little underwhelming compared to that iteration.

    But it hasn’t been all good. Personally, the changes to the Project and IDE Options dialogs (from D2009 onward) continue to irritate and frustrate me.

  2. Stefan Glienke Says:

    I wonder what configurations you were comparing when talking about the stability of the IDE. In no way is Delphi 7 more stable than XE. First thing: Delphi 7 on almost every Windows 7 installation at work reports some exception either when starting or doing something else. Second thing: when working with large projects and project groups at some point you have to restart Delphi 7 multiple times a day.

    Also I doubt you are were using a blank Delphi 7 but with GExperts, Castalia, CnPack, Speedup and whatelse. Compare that to a Delphi XE with at least Update 1 and IDEFixPack when talking about startup speed, stability and the code completion issues. Also my personal opinion is: get rid of CnPack. In a couple of situations that thing was causing all sorts of trouble with the stablity of the IDE.

  3. WarrenP Says:

    Start using F6 (IDE Insight) to navigate large projects (F6, type part of a unit name, find the unit, and get there and edit the form or the code).

    Once you get used to it, you won’t be able to live without it.

    Warren

  4. Alex Says:

    New Delphi versions has error reporting facility, which allows you to send incident report automatically.

    However, tools like EurekaLog or madExcept may install their own handling. Which you may find useful in old version, but probably don’t want now, since Delphi has similar functionality.

    Can’t say for madExcept, but in EurekaLog you can disable handling exceptions in IDE via IDE menu “EurekaLog”/”IDE options”/”IDE integration”.

    BTW, you can switch interface of DXE to the one from D7: with separate form designer and old-style component palette, if you want.

  5. LDS Says:

    That D7 has issues with Win7 is undertandable - it was designed in the Windows 2000 era. But D2007 has a lots of problem with Win7, and Embarcadero never released a patch, while MS released an update to allow VC2005 to run without issues under Vista/7 - because if users don’t upgrade to the latest version each year (and with large projects one often can’t…), the cash cow drains..

  6. Bertrand Person Says:

    The poor HELP is why I cannot bring myself to introduce Delphi into our work environment.

    All developers here use C sharp and are accustomed to the vastly better help in Visual Studio. If they are going to learn an unfamiliar environment, a comprehensive HELP is essential.

    Even I still keep D7 installed, mainly for the HELP system. It’s ridiculous.

  7. Bertrand Person Says:

    “Its compiler also seems to be much faster than D7’s and the code it generates also appears to be significantly faster.”

    Does FastMM not improve this for D7? After all, D2007 simply integrated FastMM (IIRC)

  8. Larry Hengen Says:

    @Bertrand,

    My speed assessment is after I installed DelphiSpeedUp for D7 which rocks, so you can just imagine my surprise when DXE was still faster.

    I also agree about the help, and think that EMB needs to compare Delphi with VS.NET, because if they did maybe we would have a better IDE.

  9. Larry Hengen Says:

    @Stefan,

    My D7 installation uses CodeRush and GExperts with DelphiSpeedup. My XE installation included Update 1 and GExperts.

    Having to restart the D7 IDE multiple times a day is not unusual, but with XE I got several AVs, and one lockup closing IDE editor windows so I was re-starting more often. My assessment while subjective, is based on my experience….your mileage may vary.

  10. Chris Says:

    On the F1 help thing, are you sure you’re comparing like with like? If I type IncMinute (which is the actual function name - note the lack of an ’s’), it comes up fine in XE. I don’t have D7 still installed to test, but I’d be surprised if it coped with the typo either (though it might!).

  11. Nisse Hult Says:

    On the subject of extra plugins for Delphi do not forget the CnPack (http://www.cnpack.org).

    The trick with CnPack (and if you use GExperts) is to shut down those functions that you don’t use, and only keep the ones that you have use for active. Makes the product(s) much easier to use.

    I also use GExperts to remove keyboard shortcuts that I don’t need to use those shortcuts instead of functions in GExperts and CnPack that I use frequently.

  12. WarrenP Says:

    It seems a bit late to first try CodeRush in the year 2011, but I tried it, and it’s truly sad that this product died in 2002, and no further versions were ever made.

    Warren

  13. Kerry Neighbour Says:

    I agree with WarrenP completely. I still use D7 and Coderush for almost everything (except 1 project). The main reason is that I cannot get similar functionality to Coderush in anything newer. Using D2010 (I have not tried XE2 yet) without Coderush is programming with one hand tied behind your back. This is almost literally true - CR at least doubles my speed, if not much more. And not only speed of course, all the other benefits that accrue.

    It truly astounds me that the IDE developers STILL (after what, 15 years?) have not produced a top notch editor. Perhaps my memory is coloured, but I would like an editor like MultiEdit back in the Pascal days. It still does not have a usable code formatter! Why have not GExperts been incorporated, and DelForEx?

    Like a lot of programmers, I am in the IDE all day long. I don’t use or need most of the fancy new programming stuff. I barely even use OOPS (well, maybe a bit). What I want to see before I spend a LOT of time moving to a new version is an IDE that is better than what I have now.

    If XE3 had something similar to CR, I would get a copy instantly. I want this BEFORE 64 bit support, before PHP, before .NET, before anything.

Leave a Reply