Embarcadero announced the release of the Delphi XE Starter edition for building native windows applications. I spent many years as a Delphi developer before I made the switch to Java while the Delphi programming language and tools were top notch at the time. However, with the years of abuse at the hands of Borland and then Codegear, it fell way behind. Java IDEs in general are far superior with a lot of attention paid to the actual code aspects of the IDEs while Delphi was very GUI centric and provided superior visual editors. Of course, Delphi is very rigid in how you build applications while Java provides a lot more flexibility to the point of having too much flexibility (the story of Java’s life).
I bought my last version of Delphi a few years ago, I think it was Delphi 10/2006, it cost several hundred dollars and it was a real stinker. I swore I would never buy another version with my hard earned cash. Even at the office we reverted back to Delphi 6 (from 2001 so it was 5 years old) because it was just horrible.
I think at that point, with the release of .net and Visual Studio which was then starting to be given away free, the writing was on the wall. Stuck between the free competitor IDEs , Codegear and then Embracadero were still trying to push a high priced IDE that nobody really wanted in the first place since, albeit rather unjustly, Delphi adoption has never been high.
So now we have a new version, priced at just $199, where you can choose to use a limited version of a dead language (and probably with licensing restrictions). I always find it interesting to see which features they leave out of the basic version, let’s take a look at the Feature Matrix :
- No Code formatting
- No Class Explorer
- No autocompletion for DTD based documents
- No To-Do Lists
- No refactorings
- No diagramming of any kind
- No unit testing
- NO DATABASE SUPPORT (except for Interbase)
- No logging
- No Reports
- No network components
Eh, I could go on but I won’t, to anyone familiar with something like Eclipse most of these items are the basic elements of any IDE that you wouldn’t want to do without. The point is, for $199 today, you can have an IDE from 15-20 years ago. For an extra $600 you can have the professional version which gets you all the basics, but not much more. To create multi-tier datasnap applications, you are looking at spending thousands on an enterprise or architect license. Compare this to the range and scope of the Java APIs that you can get and use for free, whether it be data access, network components, web frameworks or a variety of web servers.
When I moved from Delphi to Java, or even .net, it was like coming out from under a rock and seeing the surface of the Earth for the first time. I have no desire to pay $199 to go back under there.
The Delphi Market
Of course, there is a market for Delphi, there are plenty of places that use it internally for applications, and it really is one of the best ways currently to produce native applications for Windows which after all is still a rather huge market. These people see enough value in upgrading that there is still a market in there, although given the turbulent ownerships of Delphi, probably not a very good one. Meanwhile, Borland was bought by Micro Focus in May 2009.
I tend to object to the calls for something to be made free and open source simply because someone likes it. It simply ignores the masses of time and money that went into making it. However, in this case, I think if Embracadero would like to see any kind of growth, it should look at slashing the prices. Granted, they may be quite happy with the small market of dedicated customers and if they are able to strike a fiscal balance with that, all the best to them.
While cutting prices might make it more attractive, it still might not generate demand (which is probably why they won’t do this). By some standards, the web is now the platform of choice and native apps are in less demand. For corporate customers, there is probably far more demand for web applications for which there are better tools than Delphi. Since code re-usability was never a strong point of Delphi, the ability to leverage existing code is probably minimal, especially given the stateless nature of the web and the stateful nature of a client/server Delphi application.