A few months ago Alex Miller pointed me to this Delphi doom article (the site appears to be down at the moment), which reminded me to post about the same topic. Here goes.
Delphi shipped in 1995, and its demise has been declared frequently since 1997 or so. In a sense this demise is true, yet also false. Delphi’s current popularity is very different in form (not only in magnitude) from that of Java, C#, etc. Delphi is used substantially by commercial software vendors, and only rarely by enterprises. An ugly reality of the software industry is that the bulk of software developers nationwide work inside large non-software companies, so this usage pattern most likely does not produce the level of unit sales that Codegear (Borland’s dev-tools subsidiary) would like to see. It does, however, produce an enormous number of Delphi application instances running “in the field”, used by real paying end users, who don’t care (or know) what development tools were used to build the software they buy. Many commercial software products, both those in shrinkwrap at retail stores and those for vertical markets, are written in Delphi and will continue to be, because there are very few other good choices for high quality (polished) native Win32 GUI software. In these markets, shipping a Java or .NET app can be a competitive disadvantage (though to a lesser extent over time), and old-style VB is a sad joke.
I don’t think Delphi is eligible for demise until the dominant desktop operating system ships with a dominant runtime platform “in the box”. For example, if all of this happens at the same time:
- Microsoft ships Windows with the .NET runtime already installed
- That version Windows is the commonly deployed version
- That version of the .NET runtime is the commonly targeted version
At that time, the .NET platform (with the language of your choice) could be a compelling replacement for Delphi in its niche. There is a lot to like about .NET (and Java, and I use them both), but I’m not holding my breath for the above conjunction.
Over at Oasis Digital we have several ongoing Delphi projects in which we develop and extend in-house, enterprise applications. These projects feel notably lonely (very few developers here in the midwest use Delphi), and the Delphi language leaves a lot to be desired (such as garbage collection) – but the resulting software works very well for our customers, especially when we add in a bit of Lua or Prolog (story coming someday…).
Delphi is not dead. It’s not at the top of the popularity charts, and won’t be. It probably shouldn’t be your first choice for a new in-house enterprise application starting today, because of the network effects of Java and .NET popularity. But Delphi is not going away anytime soon, and is a great choice for certain classes of projects.
Prolog?! Sure, *now* you add the interesting stuff… 🙂
What exactly is an “enterprise application”?
Something that isn’t shareware?
p.s. Sawzall and Python are not the most popular programming languages of all time and are used by the most popular company of all time: google. I think google is an enterprise. Therefore, popularity of a language isn’t always important in huge enterprises, such as google. Since google is an enterprise… and they use Python and Sawzall.. what makes you think Enterprises can’t use Delphi and freepascal if they need to use it? I am using freepascal and delphi for all my “enterprises” I consult with, for web apps and desktop software.
At some future time I’ll write more about what I mean by “enterprise”; a short version is that this is software used by large or very large companies, generally companies not in the software business, for mostly internal use. Generally this means companies that bear very little resemblance to Google, though there is no doubt some enterprisey software used inside Google.
Delphi will not die., it will simply evolve. You can already use your existing code on Linux based OS.
Don’t forget Delphi4PHP
I worked with Delphi for years. For the price I paid for the product I did not expect it to be full of bugs. On top of this the support was pitiful. The people at Borland seemed to be snobs. Every patch needed the original disks which had to be retrieved from storage. They could have done well seeing that many of us did not want to go to .NET. However, they took another course and many of us are forgetting about Delphi and are moving to .NET.
You’re right, there are still people using VHS too. I have 10+ years with Delphi at every level. I have been doing PHP for 4 years. Let me tell you, a free product that has vast support and is fast is better than a “cool” product that has none.
Delphi4PHP is not a viable tool if you truly know PHP. It’s like using Dreamweaver and saying you are a webmaster.
=====================================
# ibandyop Says:
April 28th, 2008 at 10:09 am
Delphi will not die., it will simply evolve. You can already use your existing code on Linux based OS.
Don’t forget Delphi4PHP
Seriously, Delphi4PHP is really interesting! Firstly because it lets Delphi programmers write extensions to the interpreter for a very popular web applications language, but also because it helps to mobilise more PHP apps through a different SAPI!
Sure, we can use php-cli with php-gtk or php-qt and make full, graphical php desktop apps. And sure, I use it for most of my shell scripting now… But I can’t exactly ship PHP sources and cli clients to everyone constantly – a benefit of this higher level of integration (ew a polyglot) is surely a higher level of portability, too. The more ways we can ship desktop php apps, and the more ways in which we can write php extensions… Well, I’m just saying I don’t think it can hurt.
Delphi adds another PHP answer to py2exe.
Go PHP! Go Delphi! Go Python! Go C++! We’re spoilt for choice, and it’s a good thing.
“Delphi4PHP is not a viable tool if you truly know PHP.” — I think you mean, not a “vital” tool…? And what is it to “truly know”? Do I have to be on the development team? I doubt that any living being has ever read every page in the manual. Not many people can even recite the list of extensions available on installation. Hey, most (less than 4 years) people I talk to are surprised to learn that E_ALL is not the highest level of error reporting, but they do spend a lot of time writing a lot of code.
Whatever tools the tools are which help us get the job done or to increase our understanding, those tools are worth considering.
Not to rubbish what you’re saying, Dan Wade – I agree that PHP is more than fully featured and perfectly capable of standing on its own, you have a good point.
Just… PHP4Delphi looks and smells like a good thing as well.
NO!
Delphi is not dead, you really don’t get why they say “Delphi is dead”
Because developers of Delphi doesn’t want newbies in Delphi as there new competition.
They want to preserve Delphi as there best tools.
There are many programs by Delphi, and most of them are very famous, and even some programs coded in Delphi are not famous but very useful to the software technology.
See this: (see it carefully, you’ll be shock that the software you’ve using/try is coded on Delphi)
http://delphi.wikia.com/wiki/Good_Quality_Applications_Built_With_Delphi#Hi-Profile_Delphi_Applications_List
So, you want to use .NET, hmp!, in every year .NET upgrades there product and soon old code is gone for new version. Vb6 is not compatible with vb.net. vb.net 2003 is not compatible with vb.net 2005, vb.net 2005 is not compatible with vb.net 2008, and soon vb.net 2010. What a world of m$ victims.
In Delphi, your code is safe, meaning, you can use Delphi code from old version to new versions of Delphi.
Delphi performs 50% more than .NET(period)
Cheers
Delphi is always alive, Delphi is a zombie.
Zombies lives forever.
Net technology is Microsoft dependent and we all know how that turns out in the end.They are pushing enormous amounts of money to propagate the stuff but I think it is doomed allready.Net applications are history.Do you remember nice stories about network computers and similar crap.Net based applications?Network office? Network storage?Where are they now?Meanwhile they are trying to promote the Sliverlight in the same way to muscle out Adobe Flash.
32 bit applications will be in use for many many years to come.
Just look at the way users rejected Vista and stayed with XP.Not even Windows 7 will replace XP in a long time.Companies are not idiots with money to waste on fancy looking applications.
My advice is to stay with Delphi.
Yes .NET will die off. That is why Visual Studio is now losing the .NET name (next version). Too many companies adopted the .NET technology without understanding when it should be used.
.NET just prepare for burial.
http://delphi.wikia.com/wiki/Good_Quality_Applications_Built_With_Delphi#Hi-Profile_Delphi_Applications_List
Net technology is Microsoft dependent and we all know how that turns out in the end.They are pushing enormous amounts of money to propagate the stuff but I think it is doomed allready.Net applications are history.Do you remember nice stories about network computers and similar crap.Net based applications?Network office? Network storage?Where are they now?Meanwhile they are trying to promote the Sliverlight in the same way to muscle out Adobe Flash.
32 bit applications will be in use for many many years to come.
Just look at the way users rejected Vista and stayed with XP.Not even Windows 7 will replace XP in a long time.Companies are not idiots with money to waste on fancy looking applications.
My advice is to stay with Delphi.
Yes .NET will die off. That is why Visual Studio is now losing the .NET name (next version). Too many companies adopted the .NET technology without understanding when it should be used.
.NET just prepare for burial.
Can we consider it dead now?
I have developed Delphi applications for almost 10 years, and I still use it (only to support some bugs in old applications, but I never use Delphi in new projects).
I gave up from it on Delphi 2005, where the IDE was so unstable and heavy that had to perform an Downgrade to Delphi 7. There were only one way to fix those bugs: to pay almost 2000 U$ for a newer version… Worse than that: BDS 2007 have no visual support to WinForms applications, no Crystal Reports (replaced by Component One).
So, I finnaly had my first contact with visual Studio 2005, and I have buyed it immediatly. The debbugger tools from VS2005 and the amazing C# language took all my attention for a few weeks, and without a big effort, I was finnaly able to fulfill an Delphi missing feature:
a descent Web Framework to develop web apps.
I have to admit that Delphi is still the best option to develop native Win32 apps, but it seems to me that this is no longer a problem to me: almost all my customers are using Windows Xp and Vista (with .net framework).
Delphi4PHP is the worse tool I have ever seen. I tried to use it for a long while, but I have never seen so many bugs in one single IDE. (even worse than BDS 2005!!!!)
I think Delphi is dying because Delphi is not a good option to Develop Internet applications. After all, I still cant find a reason to upgrade Delphi (from Delphi 1 to 7, there were always massive improvements from one version to another, but I cant see any after Delphi 8).
Now, it seems that Embarcadero is doing the right thing: they have more focus on Win32, and some good things have been done. But not enough…
This is my opinion: I think the biggest problem in Delphi it’s the VCL itself: many Delphi developers are resistent to adopt .net, beacuse they have to forget the VCL and learn the FCL… A new Win32 VCL is a good move, but I think those developers will be resistent to it too, because it means that they will have to forget something they know well and learn something new.
Maybe, the newer versions of Delphi shall have another name (like Delphi Prism). So, all developers can find it’s favorit flavour there.
At last: Microsoft .net is a dependent technology, but Delphi is also dependent from Microsoft… Delphi is nothing without Windows, and KYLIX is dead and well buryed…
Wow, had I actually received some notification I would have responded:
Sneaky_who_am_i said:
“Delphi4PHP is not a viable tool if you truly know PHP.” — I think you mean, not a “vital” tool…? And what is it to “truly know”? Do I have to be on the development team? I doubt that any living being has ever read every page in the manual. Not many people can even recite the list of extensions available on installation. Hey, most (less than 4 years) people I talk to are surprised to learn that E_ALL is not the highest level of error reporting, but they do spend a lot of time writing a lot of code.
———————————————–
No, I meant viable. So here we are two years later, and I still maintain that a go between – an interpreted layer (Kinda like VB) will never be as powerful as the underlying technology that it attempts to emulate.
So that being said, if Delphi4PHP encourages someone to expand their current understanding then great. And for the record, I did read all of the man pages for PHP 4 and 5. E_ALL is the highest level of error, warning and notice reporting as it reports everything. Per PHP manual. Perhaps you can shed some light?