I got a good question from sales and a partner rep about a company where the Delphi developers were being pushed by management to switch to Java and worried there would be too many headaches migrating a Delphi 7 app to XE. Here was my reply with info from other customers and a leading research company on why staying with the best technology for the job (like Delphi) is a better solution.
We just interviewed a company this week that builds golf tee time and course management solutions. They were facing pressure to move to Java but made the decision to stay with their Delphi multi-tier solution because they are certain that the Delphi-based solution will provide the best experience for the golfers who use the system and the best performance for the major golf course and resort operators that they provide services to. They knew that providing the best solution for their customers was their #1 priority if they wanted to be successful. Since making that choice, they are expanding their company and acquiring rather than being sold. Their competitors haven't fared as well.
We've seen similar situations with a variety of other customers like a major company who weren't able to deliver an important project on time in Java. They ended up scrapping the Java project, quickly building it in Delphi instead, and successfully launching their promotion.
In a Forrester Research presentation last week announcing the results of a Dr. Dobbs developer survey, the industry analyst mentioned how developers and development teams are usually the best at identifying and choosing the right technology for a given job while management is more likely to favor the latest hyped technologies and what they see as the most popular solution rather than what the developers closest to the project might identify as the best choice for the job. Here's a good quote that sums it up:
"If there's one takeaway from this year's Forrester-Dr. Dobb's Developer Technographics Survey, it's this: Developers are increasingly driving technology adoption within their development organizations, making choices that can shape technology skills, platforms, and strategies far down the road. Developers are making these choices not for what's cool, but for the practical reasons of how can they meet the business needs of the company more quickly and at lower cost."
"Empowering developers this way is proving to be good for developers and for the enterprise as a whole. IT leaders, however, should stay in touch with what decisions their development teams are making." - source
Delphi 7 to Delphi XE migration can be some work (or sometimes even a headache) because it requires the migration to Unicode. We have information available on our Upgrade Center web page including a featured white paper from Cary Jensen on Unicode migration to help that go as smoothly as possible. The page also has information on finding updated versions of any third party components they may be using, moving from BDE to dbExpress and other topics they may need to know about. Andreano Lanusse will be updating his "Reasons to Migrate" white paper for XE very soon too.
Regarding their questions about needing the apps to run on for 64-bit Windows 7, the 32-bit applications you build today with Delphi XE run on 64-bit Windows today. We added support for Windows 7 APIs and features last year with Delphi 2010 within weeks of the release of Windows 7 so we are right up with the latest Windows releases. We realize that there is a need to build 64-bit apps too and that is scheduled for next year's release (per our roadmap).
If they've made a significant investment in Delphi code and that Delphi code works, it also often makes more financial sense to migrate that working code to a newer version of Delphi and deal with the Unicode transition work and updating third party components rather than trying to build the system again from scratch and introducing new bugs and new issues as they try to rewrite the core business functionality.
Delphi provides a lot of other benefits including visual design, an amazing variety of available components, rapid prototyping, readable and easy-to-understand code, fast compiled performance without Java overhead, and a very supportive community of third parties and developers. All of those combine to make Delphi a top solution for rapid delivery of high quality applications.
If you've evaluated Java or other technologies and determined that Delphi is the better choice, feel free to add a comment to this post and let me know about it.