Daily stuff not frequently posted a software developer finds out or rants about.

Sunday, October 15, 2006

How Turbo is Turbo Delphi?

Turbo Delphi has been out for weeks, so why am I blogging that late, when no one is interested in it any more? Well, a few weeks before the release of Turbo Delphi, I was contacted by a Borland engineer, who read about my decision to switch to FreePascal and Lazarus, and wanted to persuade me to continue using the better tool. He mentioned that a fair number of my bugs have been fixed; well, about a dozen of over 300 reports from me have actually been closed, half of them fixed, the other half closed by the system because nobody dealt with them for years. The oldest bug though is one telling me a List Index Out Of Bounds nearly whenever I try to open or close a project. This has happened since Delphi 7 at least, but even three versions later (and that includes the BDS 4.0 offspring named Turbo Delphi), the IDE causes the same error. Now, everyone except Borland knows that when dealing with indizes, it's always good to check on their range:
if (Index<0) or (Index>=e.a.m.FileClosedFilesItem.Count)
then AtLeastTryToGuessAProperIndex;
var menuitem=e.a.m.FileClosedFilesItem.GetItems(Index);
Instead of what they do currently:
var MenuItem = e.a.m.FileClosedFilesItem.GetItems(Index);

e.a.m. is just a placeholder for external.Application.MainForm. in this example, to allow better line handling.

Can it be that difficult to open history entry #1 when the user clicks on the corresponding menu item?

I faxed that bug to Borland, I phoned it, reported it with dozens of comments with more details to Quality Central. Now this person who contacted me told me that someone from Borland would contact me about that bug within the next days; that was 8 weeks ago. You see, I really wanted to post something positive about Borland, since I put hope into the new endeavours.
But enough about that; even though each occurance of this bug raises the annoyance factor, and I probably will be able to successfully finish my attempt of filing one bug a day for the first year of BDS 4.0 release, I still have some projects that are not ported to FreePascal and Lazarus yet, so I gave Turbo Delphi a try.

My first impressions were that it was faster - no wonder with a lot of packages stripped out; since I never used most of them, I could have that speed gain by just disabling them as well though. It also seemed to show less of the above errors, but that was just an impression of the first hours, nothing lasting sadly. So all in all, I can say that Turbo Delphi is a nice attempt at making the dinosaur slimmer, but in the end it's just a teaser, and before changing my mind about the future of Delphi, I'll wait for the next version. I can recommend it to people wanting to look into Delphi though - with the reduced number of components, it'll be quite easy to switch to Lazarus at any later point.