Saturday, July 23, 2011

On Delphi 2010

I don't often use Windows for anything significant at home except for playing a handful of games (I generally prefer consoles like the PS3). Some odd exceptions are video editing/encoding with VirtualDub and on certain rare occasions even programming. For programming I like Delphi in particular. Not because I have any serious projects - work related or otherwise - but because I just have fun doing it. The first time I did some real programming was on MS-DOS with Turbo Pascal (BBS related hacking) and later I went on to use Delphi on Windows. Delphi 3 was the first version I used on Windows and I later upgraded to Delphi 7 after a short period of using 6 (the free version). To give you an example, my last project was a MDI code editor for programmers with a built in IRC client, mail client, hex editor and syntax highlighting for dozens of languages. It even had RSA encryption for public key cryptography and AES for symmetric encryption as well as SHA hashing (all encryption based on TPLockBox components). It was all for fun you understand, and I never really finished it, although it was perfectly usable for my own purposes. All of it contained in a single executable of about 600kb in size, it used .ini files for settings so it could carry it's configuration along on a USB thumbdrive. Fun eh? Anyway, I'm getting carried away..

Not too long ago I got my hands on a copy of Delphi 2010... interesting I thought, could it still be as good for RAD programming as I remembered it? Sadly no. Delphi 2010 doesn't have the polish 7 had. The help system, for example, is mostly useless. In Delphi 7 you could place the cursor on just about any object property, hit F1, and you would have all the information you needed instantly pop up about that particular property. Embarcadero redesigned the help system completely and now you often just get a (mostly) empty page, and sometimes the help page only shows you C++ specific information. Not too helpful if all you do is Object Pascal.

2010 also has a lot more bugs, on more than one occasion I've encountered a bug that more or less locks delphi up with an error that says something along the lines of "can't set focus on invisible Window", I've had seemingly random form errors when I've used TListView's that produce broken executables. Simply restarting Delphi and recompiling fixes the problem, embarrasing, but this is just one of several wierd bugs I never encountered in Delphi 7. 2010 also has a crapload of pointless junk added to it, like Mono and Gtk#. I've never even seen a serious attempt at making applications on the Mono platform. Embarcadero's Delphi also uses a lot more Microsoft technologies than it used to, it even installs a minimalistic version of Visual Studio for reasons I fail to understand, apparently it augments Delphi in some fashion. And the previously mentioned (and useless) help system, which I believe is based on something called Microsoft Document Explorer. Microsoft has retired the old .hlp system in Vista/7 so I understand why they've changed it, but considering how poorly the new one works, I think Embarcadero should've developed their own documentation system.

Delphi 2010 is still a fairly decent environment, but it's a far cry from the Delphi I used to know. If you're getting nostalgic and feel like doing some hacking on Embarcadero's Delphi, I'd advise you to just let it go - It'll only depress you if you came from Delphi 7 or earlier. Admittedly, Embarcadero has added some really cool features, but what use are they if they couldn't even get the basics right?

Thumbs down.