A few years back I turned away from Delphi. This was specifically because it is harder to express some things in Delphi than it is in other languages, but mostly due to how bloated, slow and unusable Delphi had become. Having had the chance to look at the latest version only the slowdown issue seems to have been resolved really.
Today I was forced to look into an older Delphi project of a friend. The project was written in Delphi 5 originally. I started out with Delphi 4 after some experiences with Turbo and Borland Pascal. At some point I decided to upgrade to BDS 2006 (Borland Developer Studio) and still regret it. Not only does it contain an abundance of components that I would and will never use, no it also insists on using a particular version of the .NET SDK even though I have explicitly deselected the “.NET personality” as it used to be called back then. This caan be quite annoying if you use this BDS version on a x64 version of Windows Vista (which comes with a newer .NET runtime pre-installed). Note: why would I need an SDK if I have deselected the .NET personality and thus explicitly don’t want to develop for .NET, especially if the built-in .NET runtime should suffice to run the BDS version.
Now, since I didn’t want to install the old Delphi 4 on my Vista or inside a VM and didn’t want to use some other version either (including the dreaded BDS 2006 license I own), I remembered that some years back I had tried Lazarus, an IDE to FreePascal. Back then I considered it almost unusable, especially in direct comparison to Delphi 4 and 5 (which I used at work). Now I downloaded it again and I’m excited about the way it took. It just looks great – simple and concise. No bloat. The look and feel is close to what I was used to in those old Delphi versions, while Borland/Inprise/Borland/Codegear/Embarcadero was trying to put “more” into it.
But it doesn’t end there. The debugger backend is GDB, one of my newly found favorites. Since my first serious debugging session using GDB on a Linux on PowerPC, I consider it a very powerful debugger. Usually I prefer to use graphical tools, but GDB works fine both in line-oriented mode and in TUI-mode. The only thing I haven’t figured out yet is whether it is possible to cross-compile on the Win64 version for Win32 as well.
All in all Lazarus leaves a very nice impression and I’ll see how it goes with the project I’m working on. Perhaps it will lead me to use Pascal more often again. In general I like to use the tools that aid the solution of the problem, but usability plays a role there.
So to the FreePascal and Lazarus developers: well done! Nice job!