What is Delphi’s DNA?
I was chatting with someone today who was less familiar with Delphi. He asked what is it about Delphi that makes so many people continue to love it. I thought I would share my answer and see what everyone else thinks.
- Developer productivity – When Delphi was first introduced it was going head to head with Visual Basic in getting things done fast, and most of the time Delphi was faster for getting things done, and the rest of the time it was still really fast. That continues today. I’ve done presentations for people and they are just blown away with how fast I can do things with Delphi.
- Fast native apps – When it comes to app performance Delphi was way faster than VB, and is competitive with Visual C++ and any other compiler out there. This is because it is builds native apps that run fast.
- Database access – One of the original goal of Delphi was first class database connectivity. That is something Delphi continues to deliver. BDE was ahead of its time, but FireDAC is a whole new breed. And the great thing is there are so many 3rd party data access libraries to choose from, to give you just the right set of features you need.
- Platform API access – I remember the first time I needed to access some Windows messages and a Windows API that wasn’t exposed through the RTL. I kind of expected it to be a lot of work. I was pleasantly surprised with how easy and natural it was to add that to my program. I love that Delphi let’s you work at the nice high productive level, and then reach down to “touch the metal” and access the APIs.
- Visual form designers – I’ll admit it, Delphi has spoiled me. I’ve checked out a number of other programming tools, and it is rare to find one that works as good. The ability to design your user interface and preview what it will look like so easily is so useful.
- Reliable applications – I’ve heard stories about when they demonstrated Delphi’s ability to handle exceptions and people were falling out of their chairs. I don’t know what it is about Delphi, it might just be that the developers who use it are amazing, but I am frequently impressed with how reliable programs are that are developed with Delphi.
- Good strong community – All the Tech Partners, MVPs, authors, trainers and developers make the Delphi community amazing. It is always great to see all the amazing projects everyone is working on. So many people willing to help and just be fantastic. It is a great community to be part of.
I made this graphic a while ago to explain why developing with Delphi was so awesome. I call it the three levels of development. The idea is each level builds on the one beneath it. The higher levels provide great productivity benefits.
The great thing about Delphi is it lets you easily move between these levels. You can do so much in code, even at design time, but it doesn’t keep you at that high level. When you need it you can move down to a lower level, even to the point of writing in-line assembly code on Win32.
Most other development tools are stuck at just one level, or with just bits and pieces of the other levels. Delphi gives you all 3 working together. This is really amazing, especially for a cross platform development tool.
What did I miss? What else is in Delphi’s DNA? What is the one thing that makes Delphi the tool of choice for you?
Update: A few more characteristics of Delphi’s DNA from the comments
- Readability and Maintainability – This is really important since most programs spend way more time being maintained than in the initial writing. Code that is easier to read is easier to maintain. This is aided by the fact Delphi is easy to read and has a strong type system.
- Backwards Compatibility – This is something Delphi really spoils us with. Even when there are breaking changes they are typically minor and easy to work around when compared to other development technologies.
- Speed – Delphi has this in spades: Speed of development, speed of compilation, and speed of execution. Sure, you may be able to find some situations where something is faster in one area, but over all Delphi is very well rounded in the speed department.


Comments
-
Scott S12046 Wednesday, 8 June 2016
I totally agree! I have been programming in Delphi for 15 years, and I have used many other languages, but I will always choose Delphi when I have the option. Developing in Delphi is like driving a high performance vehicle in the city, you rarely need to go over 60 kph, but you can get there much faster than other vehicles, and all the power is immediately available to you to get you through safely and with confidence when those tricky situations arise. I am encouraged that Delphi is continually improving and that the community is still strong after all these years.
-
Please login first in order for you to submit comments
- Page :
- 1
I would precise the position of the pyramid representing the levels of development: I would simply invert it, and keeping Platform API's down at its narrow base.
Why? Because upper level brings much wider possibilities than lower, for the same investment. For each possible business fields (ex: persistency, maths, reporting & charting, architecture, frameworks, ...), you can find dozens of related libraries.
The consequence of this is the following:
If you consider yourself as a good field specialist and a poor programmer, Delphi can be your friend because you'll be able to develop with a high-level Library.
And if you consider yourself as a good programmer, you will love Delphi too, because, using all the powerfull language features, you will be able to nicely "reinvent the wheel".
Now I can unveil a secret: at the time I had to choose between Delphi and VisualBasic, I choosed Delphi mainly because of "car color considerations": when double-clicking a event Handler property in object inspector, it automatically created the related skeleton in the code editor, and from there one could scroll up /down to access the rest of the code. Visual Basic did not allow it with such a simplicity ..