Delphi is a Rapid Application Development language with a long and colorful history. In my opinion it was at its peak when it belonged to Borland at the end of the 1990′s. Since then it changed hands and directions four times, stumbling over every new craze on the market.
I used to program in Delphi for many years. In fact nearly 20 years ago I used to program in Borland Pascal for DOS, out of which Delphi for Windows was born. Right from its first release, it was clear that Delphi filled a very important void in the software world. At the time the Windows programming universe was dominated by Microsoft Visual C++ and Visual Basic; Visual Basic was too basic for any serious development, and Visual C++ was not very visual. Delphi joined them both together in a visual and yet powerful platform.
But then it slowly faded from view. What happened?
The software world changed, new programming platforms emerged and Delphi lost that edge it once had. In 2001, in response to the emerging Linux market, Borland created Kylix, a Linux version of Delphi. Unfortunately, Kylix turned out to be terribly sub-standard and it never reached the usability of Delphi. A year later Delphi 6 introduced a semi-cross-platform development platform with the idea that the code written in Delphi could be straightaway compiled with Kylix if certain conditions were met. The results were disastrous. One of the conditions was abandoning the use of Delphi’s star player, the VCL widget set in favor of the new cross platform CLX widgets, which were hardly usable and looked plain ugly.
Kylix was, in my opinion, the beginning of the end of Delphi. Kylix was discontinued after reaching version 3, a monumental failure in an attempt to create a cross-platform development system.
At the same time, Delphi 7, while still supporting CLX and issuing lots of “platform-specific” warnings (which thankfully could be disabled), was surprisingly good. It worked like a charm, it was user friendly, fast and stable. Borland showed again that it could do things right if it concentrated on the things that it knew how to do.
But doing only the things they knew how to do wasn’t enough to stay afloat. They needed to progress and move with the times. In response to the emerging .NET trend, Borland went on another wild goose chase with Delphi 8, a release that supported only .NET and no longer allowed the creation of the native Windows executable applications. Delphi was competing directly with Microsoft Visual Studio .NET, but it didn’t offer nearly enough to place itself at the same level. Well, you can’t beat Microsoft at its own game. The direct support for .NET was dropped from the Delphi IDE in 2007 after Microsoft updated .NET to version 2.0 and the changes were so extensive that fixing the IDE to keep up with them became unrealistic.
Then there were Delphi 2005, 2006, 2007, and so on, released nearly every year. Every release introduced something new, and features were added and discontinued just as quickly in an attempt to find the niche that would secure the necessary market share. Grasping at every new straw that came around in order to stay afloat they just couldn’t find that one thing that they could excel at.
It was difficult in those days to see which of the emerging technologies will capture and retain their place on the market. It’s getting a bit clearer now. There are two things that we won’t be able to get away from: cross-platform applications and web applications. Delphi had their shot at both of them–and failed. Both Kylix and Delphi for PHP didn’t make a dent.
So, what does the future hold for Delphi? It seems like Embarcadero is again investing in cross-platform development, but they’re trying a different tactic this time. Delphi 2011 will apparently contain a Windows IDE which will be capable of generating binaries for all three platforms (Windows, Mac OS and Linux). I’m curious to see how they will solve the myriad of problems that cross-platform development presents–the problems that they failed to solve in the past. To my knowledge, nobody has tried yet to market a professional Windows compiler that creates binaries for other operating systems. Who knows, maybe if they do it right, it will finally push Delphi into the light again.
As for me personally, I’d be looking forward with anticipation to this exciting, new, cross-platform Delphi if it wasn’t for the fact that I’m already using what I consider the best cross-platform system available: Qt C++. In all my years as a programmer, I have never seen a language so perfect. And besides, I do prefer C++ to Pascal, it’s more versatile and compact. Like the joke: Why do Pascal programmers live in Atlantis? Because it’s below the C level.
So as appealing as the new Delphi might be, I’ll throw in my lot with Qt C++. After all, who knows what company will own Delphi next year…
