A very smart guy that I have worked with in the past said to me yesterday, that the time he spent working on a project written with Delphi was tantamount to career suicide. I have little to no external evidence to prove him wrong, and yet I believe he could not be more wrong.
Let's try to understand his perspective first, though. From his perspective, C# and Java and C++ all have a large number of jobs up on all the major job websites. And if Delphi truly remains (in my opinion) a secret weapon, that developers can use to gain an advantage, how come so little software is written with it? Okay, Skype for Windows is written in Delphi. But none of the other versions of Skype (for your phone, or your mac) are written with Delphi.
I see a vicious circle-of-perceptions. The circle goes like this: There are no delphi jobs because there are no delphi developers because there are no delphi books because there is no market for delphi books because there are no delphi jobs because there are no delphi developers..
And there are barriers to entry, and network effects. New developers coming out of school have a number of barriers to entry with Delphi, including the fact that both Visual Studio and Java are essentially free to learn. The language-popularity network effect is viciously effective, here.
So how is Delphi going to survive against Visual Studio (Express is free) and Java (Eclipse and Java are totally free)? My friend's answer is simple; It isn't going to. In fact, you could argue, it's already statistically irrelevant. It's popular to quote the TIOBE list for that purpose. Now being #14 (Delphi) and #16 (Pascal) on the TIOBE list means that Delphi is, in general about as obscure as Lisp, and RPG ILE. And in fact, I notice there are more jobs out there for RPG LE developers then for Delphi developers, in most cities.
But writing off Delphi on such a flimsy basis would be a shame, in my view. I believe that the real cost of writing software is, and always will remain, the salaries of the people, and that tools that make those people work better, are worth buying. Not only is it worth buying an IDE, it's worth buying a profiler, and components, and other tools, if they act as "force multipliers" that make you more productive. Delphi is a great tool. Its merits do not grow less important, when less people use it. So what does mass-popularity mean, anyways?
I guess Delphi fans consider themselves a bit avant-garde, rather than behind-the-times. But which are we really? Delphi is a great tool for lone-wolf developers, and even if the corporate use of Delphi died out, single-man-shops would remain a significant Delphi user base. Probably millions of people worldwide. And yet, there might be a million people still modifying their Visual Basic 6.0 apps, and half a million people keeping CA-Clipper based or Excel-spreadsheet based custom apps running, just barely.
Let's face it; Corporate adoption of Delphi is important to everybody who uses Delphi. I would like to see a renaissance of Delphi corporate use. I'd like to see an end to corporate attrition away from Delphi. If you search for jobs involving Delphi on major job sites, you'll find fully 50% of the mentions of Delphi are from companies that are shifting away from Delphi. I know of several places in my city, that have major products that were built in Delphi, that have moved away from Delphi in the last five years. The perception of Delphi being "a fading away thing" drove the decision in many cases, more than the technical merits of a rewrite of a Delphi app in C# or Java.
I don't want my friend's pronouncement about Delphi to be true. But I'm looking to the future of Delphi, beyond Delphi XE, to change that. I believe Delphi is on the brink of a renaissance. A new level of functionality would help. But the thing that Delphi needs most of all is better documentation, and tutorials, and needs to encourage new user adoption by having more cheap or free training materials. These barriers to entry are surmountable. The new user experience in Delphi XE is not as simple and easy to get started in as Delphi 7 was. I think that those who love Delphi and want to grow the community, so that Delphi usage goes up in corporations and at startups, need to focus on the new-user's out of box experience. I am going to write a series of posts on what I think can be done.
I'm also going to play with the Delphi Welcome Page, and make my own version that is friendly for new users. I'll also record some screen-casts with New User Tutorials and post them on here. Here's my homework for you Delphi fans; Go make a tutorial video and post it on your blog. Explain why Delphi works for you, and why it solves problems that make it worth your while to learn a tool that other people are dismissing because it's not C#, and it's not Java, and it's not C++.
To survive, being awesome is not enough. The best way to save the future for Delphi is to make sure it's easy for people to learn it, and get up to speed. I think that a new big-fat-book, that covers as much ground as the Mastering Delphi or Delphi Developers Guide books did, is needed. I think about 500 tutorial videos are needed. I think that a lot of creative pricing and promotion is needed. The Delphi Starter edition was a great idea, and I heartily approve of it. I'm excited and positive about Delphi's future. But I think it's time to confront the elephant in the room; Delphi is neither dead nor dying, and it's not in the top-ten on TIOBE either. If you need to feel better by putting something else down; Feel bad for the SmallTalk folks. SmallTalk was supposed to be the biggest thing ever, and now at #48 on the TIOBE index, it's down there below COBOL and APL.
You know what's career suicide? COBOL and SmallTalk are career suicide. Except, I bet if you're really good at either one of them, you'd have more offers than you knew what to do with. The world is a big place. The internet is large. Guess what. Being in the top ten isn't necessarily going to be that great for your career either. I know you can get some big money these days working on RPG ILE and COBOL. Any takers?