13 Reasons NOT to use Delphi

Over the years I’ve heard a lot of reasons or excuses people don’t use Delphi. I’ve collected the thirteen best reasons here.

1. Want to Write More Code – Delphi requires less code to accomplish the same task. If you want to write more code, don’t use Delphi. Especially helpful if writing more code gives you more sense of accomplishment, or you are paid based on lines of code written.

Number, 2, Digit, Figure, Cipher, Count, Numerary, Red

2. Larger Developer Teams – Who doesn’t love having lots of co-workers? If you use other tools and frameworks then you will need more developers, more developer tools, more frameworks, and more teams to support all the platforms. Makes for better office parties. Unfortunately, when you use Delphi you only need to write the app once for all the platforms, so one team and one code base for all the platforms. With Delphi, you just can’t justify hiring all those extra developers!

3. Like Fixing Bugs – All that code you had to write to implement the features on each platform? More code means more bugs! And more bugs means more job security for you and that huge team of testers. Gotta love bugs! Heck, you can even name some and keep them as pets! You know they will be around for a while.

4. More Meetings – Since each platform has its own code and own team you need more meetings to coordinate. You don’t want features to get out of sync between platforms! And then another round of meetings to coordinate bug fixes for each platform. Everyone knows meetings have the best snacks! Since Delphi lets you support all the platforms from one codebase then you can’t have all those planning meetings!

5. More Documentation – Each platform has a completely different app (despite all the meetings to keep them in sync) so now you need completely different documentation for each platform. We know how much you love writing code, so clearly you love writing end-user documentation too!

6. Larger Support Department – Each platform has its own version so you need to talk to a support tech that knows that version of the app. Who wants an Android version that behaves similar to the iOS version? Not to mention the desktop versions! 

7. Longer Compile Times – If it isn’t weren’t for long compiles developers would never get a break from their desk. We all know Delphi compiles super fast, which means you have less time to slack off.

'Are you stealing those LCDs?' 'Yeah, but I'm doing it while my code compiles.'
‘Are you stealing those LCDs?’ ‘Yeah, but I’m doing it while my code compiles.’
If Delphi can compile 1 million lines that quick, when will you slack off?

8. Slower Execution – If your executable runs slower the user feels safer and pretends that a lot of stuff is going on in the background. With Delphi’s native execution speed your programs are fast, so your users won’t believe it is doing anything. 

9. Separated Runtime – If your program depends on an external runtime library instead of having one executable on Windows, you can blame the runtime for any bugs. All those support calls just result in telling them to update or rollback the runtime libraries. You’ll be able to convince them it is all their fault that the program doesn’t work!

10. Putting Memory to Use – Great apps should use at least a full GB of memory just like small Electron utilities do. The great thing about Electron is it includes all of the Chrome browser features like Xbox 360 controller support. Why only use a few megabytes of memory for the same simple app? The more memory the better app. Electron puts all those CPU cores to use too!

11. In Deep Love With “DLL Hell” – You love sending your customer a dozen DLLs along with your EXE and you are having so much fun to debug over the phone, which DLL is not up-to-date and makes your app fail. Closely related to #9, but worth mentioning twice!

12. Unexpected Garbage Collection Pauses – Deterministic execution is boring! What fun is it to have your program behave the same every time it runs. Delphi doesn’t have any of those unexpected garbage collection pauses to mix things up. It gives you deterministic memory management either through ref-counting, an ownership / auto-free model, or whatever level of control you want. Why control when the memory is free when you can just wait for the garbage collector?

13. Would Rather “Re-Invent the Wheel” – Delphi comes with so many useful components and libraries and has a rich 3rd party ecosystem. This means there is usually some reusable code for any task you need. That means less opportunity to create something new.

Just in case it wasn’t obvious: This is a sarcastic list of bad reasons not to use Delphi. The reality is all the excuses are just reasons to use Delphi.

Carlos translated my post to Portuguese.

13 replies on “13 Reasons NOT to use Delphi”

The top one should be developing web application….. Web broker which I personally considered to be an advanced technology back in Delphi 2 is now considered obsolete…

@William. Try the Delphi MVC Framework for web apps. It’s a modern way to develop web apps that allow you to use what ever browser side framework you prefer. It’s also really good for RESTful API development.

“Disconnected Session” – IDE closes your Application, stops working.

Nope, we’re not running Delphi XE2, and our OS isn’t WIN8, neither was. ;(

Number 12 is one reason why Java and .NET will always be inferior.

The top one should be developing applications for right to left languages like Arabic! after 10 years Firemonkey not supports bidimode! This is not a joke, It’s real! 1.5 billion peoples around the world using rigth-to-left languages and we can not make International applications like messengers with delphi! after 10 years there is no any plan for this feature …

Delphi VCL has RTL, and you can do RTL with FMX, but it isn’t easy. There was a third party solution for a while. You can do whatever you want with Delphi, but it makes most things really easy. Unfortunely RTL in FMX isn’t something that is as easy as it is with VCL.

FmxRTL has some bugs and we need official support in FMX. You are making 9 compiler and a lot of hight technologies features in last years like FMX, FireDAC and some others but why you can not fix right to left problem after 10 years?! EMBT makes a lot of libraries for MAC, Android, IOS, Windows and linux and we know this features are very high level works! I think fixing right to left is easy for you great team. looking at 1.5 billion of peoples in the world are using right to left languages like arabic. many of teams are migrating to another tools just by this defect and It is not a lie. I think after fixing this defect you can earn a lot of customer.

I don’t have any sway for features. Be sure you vote for it in the developer survey and on Quality Portal. If people vote then it gets added. Comments on my blog had no influence.

Potential customers does not vote for any features in any tools! this potential customers are selecting siutable tool for learn and software development process. I remember some years ago this request were on top of other requests in delphi user voice website! this problem was a critical request without fix. This is a obvious feature in software development. 1.5 BILLION people can not make apps for mobile by Delphi JUST AND JUST for missing this OBVIOUS FEATURE!!!!

The last release of Delphi 10.4 is just horrible. Lots of bugs were introduced and the respons time from Embarcadero has been way to slow. Even serveral updates later people still complains.

There have been serveral server crashes where people couldn’t register their products for days at a time.

Like Fixing Bugs:
Are you kidding me? The FMX platform has been blasted with errors over the years.

To top this off then in all versions of Delphi the debugger has been failty and the IDE often crashes.

Would Rather “Re-Invent the Wheel”
Are you kidding me again? Embarcadero has discontinued products like Kylix, VCL.NET, BDE, Bold, etc. offering no further updates. The only solution is to rewrite everything once again.

My No.1 reason not to use Delphi – Much better alternatives out there in 2020 !
I wasted 200+ dollars on it (still have the Boxed set of disks and manuals taking up space!), Borland pulled the plug on Delphi, Borland itself went bankrupt and vanished, why would anyone bother with Delphi? is it not open source, no employer of consequence cares about it, forget it.

I got a good chuckle from you comment Joe. Delphi is still around with regular updates and new releases. If you haven’t looked at it since you bot a boxed set you might want to look again. Comparing that old Delphi to other things released in 2020 isn’t a very good comparison.

Comments are closed.