22 Years of Delphi and It Still Rocks(blog.marcocantu.com)
blog.marcocantu.com
22 Years of Delphi and It Still Rocks
http://blog.marcocantu.com/blog/2017-january-22years-delphi.html
337 comments
Delphi is still unrivaled when it comes to rapid GUI prototyping in combination with easy deployment. It's much easier than QT/GTK and you usually get a standalone .exe with no external dependencies.
I really want to cry when I see the current alternatives... Node/Electron with dozens of MB of runtime and all that Javascript stuff? What went wrong that we end up with this?
I really want to cry when I see the current alternatives... Node/Electron with dozens of MB of runtime and all that Javascript stuff? What went wrong that we end up with this?
Shout-out to Lazarus/FreePascal. It is like all the best parts of Delphi 5-7, and it is open source, free, and you can make commercial applications in it!
I have started using it in earnest and it is wonderful - and a company can never take it away from you; there's no "we're shifting focus..." announcements. No paid support for broken updates.
I honestly can't recommend it enough.
I have started using it in earnest and it is wonderful - and a company can never take it away from you; there's no "we're shifting focus..." announcements. No paid support for broken updates.
I honestly can't recommend it enough.
I'm moderator in one of the oldest/largest delphi forum in latin-america:
http://clubdelphi.com/
Ironically, I don't use Delphi anymore. Yet, I still help people with it and defend it when is possible.
Delphi is amazing. It only have a HUGE problem: His owners.
You can re4ad why Delphi fade away here: https://www.quora.com/Why-did-Borland-fail?share=1
"Borland lost its way when executive management decided to change the company to pursue a different market. ... ... In the height of the enterprise transformation, I asked Del Yocam, one of many interim CEOs after Kahn, "Are you saying you want to trade a million loyal $100 customers for a hundred $1 million customers?" Yocam replied without hesitation "Absolutely."
http://clubdelphi.com/
Ironically, I don't use Delphi anymore. Yet, I still help people with it and defend it when is possible.
Delphi is amazing. It only have a HUGE problem: His owners.
You can re4ad why Delphi fade away here: https://www.quora.com/Why-did-Borland-fail?share=1
"Borland lost its way when executive management decided to change the company to pursue a different market. ... ... In the height of the enterprise transformation, I asked Del Yocam, one of many interim CEOs after Kahn, "Are you saying you want to trade a million loyal $100 customers for a hundred $1 million customers?" Yocam replied without hesitation "Absolutely."
I've mentioned it before, but I'll repeat it. ;-)
At work, I inherited maintenance of an in-house application a coworker that left the company wrote for our accounting department. In Delphi.
When people speak highly of Delphi, they always mention how great the IDE is. Personally, I am not a big fan of IDEs. I was not disappointed, but my mainly, what I do is read and edit the source code.
And I have to admit, that part was a pleasant surprise! I had never looked at or touched Pascal code before, but I was able to make a change to the source - and it worked, the very first time! - within a few days. And the majority of that time was spent figuring out how the code was structured[1] and what the accountants wanted me to do (they always talk to me as if I knew the first thing about accounting).
But after that, it was smooth sailing. It sure helped that my predecessor wrote very readable code, but it seems that ObjectPascal made it very easy to write it that way.
Or, more briefly: Happy Birthday!
[1] The application is about a 10 KLOC in total, which is not small in my book, but not "very large", either. Also, I was both a developer and a sysadmin and a helpdesk monkey, so the phone was ringing about every fifteen minutes.
At work, I inherited maintenance of an in-house application a coworker that left the company wrote for our accounting department. In Delphi.
When people speak highly of Delphi, they always mention how great the IDE is. Personally, I am not a big fan of IDEs. I was not disappointed, but my mainly, what I do is read and edit the source code.
And I have to admit, that part was a pleasant surprise! I had never looked at or touched Pascal code before, but I was able to make a change to the source - and it worked, the very first time! - within a few days. And the majority of that time was spent figuring out how the code was structured[1] and what the accountants wanted me to do (they always talk to me as if I knew the first thing about accounting).
But after that, it was smooth sailing. It sure helped that my predecessor wrote very readable code, but it seems that ObjectPascal made it very easy to write it that way.
Or, more briefly: Happy Birthday!
[1] The application is about a 10 KLOC in total, which is not small in my book, but not "very large", either. Also, I was both a developer and a sysadmin and a helpdesk monkey, so the phone was ringing about every fifteen minutes.
As a pascal user since the early 80's, then an Object Pascal user, then a Delphi user since the first version, I love Delphi but to be honest I cannot afford the yearly updates.
For someone that uses it for home projects, $916 for an upgrade is out of the question.
Rambling here, but... Delphi 3/5/7 were incredible design packages. I feel they lost focus when they jumped on the .NET bandwagon - maybe it is just my perception, but maybe some of their internal developers were less focused on native code. Anders leaving was also a big hit. Kylix was yet another distraction.
For someone that uses it for home projects, $916 for an upgrade is out of the question.
Rambling here, but... Delphi 3/5/7 were incredible design packages. I feel they lost focus when they jumped on the .NET bandwagon - maybe it is just my perception, but maybe some of their internal developers were less focused on native code. Anders leaving was also a big hit. Kylix was yet another distraction.
The documentation and help pages that came with Delphi were absolutely the best documentation I ever had. Every topic came with examples that you could copy and reuse. Not just snippets but fully functional blocks of code. It was brilliant.
I was a Delphi Developer when I started developing software professionally. I loved programming in it. I jumped ship when Anders Hejlsberg, the Chief Architect of Delphi moved to Microsoft to be a lead architect of C#.NET. I used Delphi 6 and 7. When it was time to move to Delphi 8, Borland decided to target .NET.
The choice was between learning Delphi 8 for .NET or learn Visual Studio .NET. I chose MS.NET because MS is the custodian of the .NET Framework. They are the ones on the driving seat, not Borland.
Looking back, I don't regret the move because Delphi is dying. Posts requiring Delphi are nowhere to be seen on job sites in South Africa.
The choice was between learning Delphi 8 for .NET or learn Visual Studio .NET. I chose MS.NET because MS is the custodian of the .NET Framework. They are the ones on the driving seat, not Borland.
Looking back, I don't regret the move because Delphi is dying. Posts requiring Delphi are nowhere to be seen on job sites in South Africa.
A shocking aspect of Delphi 1 was the gargantuan executables it insisted on producing. There was much forum posting and gnashing of teeth.
Hello World ran to about 100 kB.
Funny thing is, I am just getting into Go, and you know what?
Hello World ran to about 100 kB.
Funny thing is, I am just getting into Go, and you know what?
> I'll start blogging on the Delphi language coming back to Linux tomorrow!
To taste the cross-platform IDE for Rapid Application Development today:
http://www.lazarus-ide.org/
http://www.lazarus-ide.org/index.php?page=whyuse
"Why use Lazarus?
No dependencies!
With Lazarus you can create programs which do not require any platform dependencies [1]. The result of it is the user of your program does not need to install any further packages, libraries or frameworks to run your software.
[1] Linux/BSD applications may depend on GTK2 or alternatively QT. Some add-on packages may also add dependencies of their own
Can be used in commercial projects
Some IDEs restrict their license to only non-commercial development. Lazarus is GPL/LGPL [2][3] which permits using it in building commercial projects.
[2] LGPL with additional permission to link libraries into your binaries. [3] Some additional packages come with various licenses such as GPL, MPL, ... "
To taste the cross-platform IDE for Rapid Application Development today:
http://www.lazarus-ide.org/
http://www.lazarus-ide.org/index.php?page=whyuse
"Why use Lazarus?
No dependencies!
With Lazarus you can create programs which do not require any platform dependencies [1]. The result of it is the user of your program does not need to install any further packages, libraries or frameworks to run your software.
[1] Linux/BSD applications may depend on GTK2 or alternatively QT. Some add-on packages may also add dependencies of their own
Can be used in commercial projects
Some IDEs restrict their license to only non-commercial development. Lazarus is GPL/LGPL [2][3] which permits using it in building commercial projects.
[2] LGPL with additional permission to link libraries into your binaries. [3] Some additional packages come with various licenses such as GPL, MPL, ... "
12 years ago I did a rude system, part of it using Delphi 7.
They still need, once every 6 months, to compile the EXE file with a small change.
I get paid monthly just to press CTRL+F9 (generate new .EXE file) every 6 months, basically.
I liiiike it :)
They still need, once every 6 months, to compile the EXE file with a small change.
I get paid monthly just to press CTRL+F9 (generate new .EXE file) every 6 months, basically.
I liiiike it :)
I attended a Clipper user group in Atlanta in the mid 1990's, with my dad. He was into Clipper, was trying to get me interested. The Clipper folks were also into Turbo Pascal. A Borland rep was there to give out swag and talk up the imminent release of Borland Delphi. The Clipper crowd was divided--some excited, some not so much. The older guys, like my dad, had come up programming with punched cards and tape drives. For them, a PC with Clipper and Turbo Pascal was plenty advanced enough for small business apps. Dad never did go for Delphi. 20+ years later, I'm doing a quick study of Object Pascal to prep for working on a legacy application at my work, in Delphi.
Delphi was a great environment, but Anders and other key persons leaving Borland, while the company lost track which customers they should target, besides the "clever" idea to change the company's name, killed it.
I know of a few companies in Germany and Netherlands that still use it, but it is hard to get offers.
And we had to wait 15 years until .NET started to offer a compilation model similar to Delphi (only for UWP apps).
While Java kind of outsourced it to third party JDK vendors due to Sun's attitude against AOT compilation, oh well at least Java 9 will bring the first steps towards support it.
I know of a few companies in Germany and Netherlands that still use it, but it is hard to get offers.
And we had to wait 15 years until .NET started to offer a compilation model similar to Delphi (only for UWP apps).
While Java kind of outsourced it to third party JDK vendors due to Sun's attitude against AOT compilation, oh well at least Java 9 will bring the first steps towards support it.
One of the first environments I ever programmed was Delphi. Had lots of fun with it, and it had a special place in my heart...
Fast forward 20 years, and I'm a hardware developer using Altium a lot. As some here may be aware, Altium is a multi-gigabit piece of CAD/EDA behemoth written - and still maintained - in Delphi. 3D, DirectX, everything in Delphi.
Just yesterday and today I had easily reproducible BSODs by using a very basic feature (routing nets). Memory leaks galore - most people I know have the habit of shutting Altium down now and then just to avoid a crash. Success is low - it crashes a lot, I'm getting tired of unhandled exceptions windows.
And this way, I realize even great development tools age badly. Of course this is not all Delphi's fault, but it shows how tech is a Red Queen's race: you must run faster and faster to keep in the same place.
Fast forward 20 years, and I'm a hardware developer using Altium a lot. As some here may be aware, Altium is a multi-gigabit piece of CAD/EDA behemoth written - and still maintained - in Delphi. 3D, DirectX, everything in Delphi.
Just yesterday and today I had easily reproducible BSODs by using a very basic feature (routing nets). Memory leaks galore - most people I know have the habit of shutting Altium down now and then just to avoid a crash. Success is low - it crashes a lot, I'm getting tired of unhandled exceptions windows.
And this way, I realize even great development tools age badly. Of course this is not all Delphi's fault, but it shows how tech is a Red Queen's race: you must run faster and faster to keep in the same place.
I got my start programming with Delphi 5. It was an excellent environment to learn in, since I could always see something happening based on what I had done.
Better: the Delphi component libraries made writing a GUI application easy. I've never seen anything of their quality and ease up through today, and I still miss being able to get an application running by just subclassing some standard components and writing the core logic I needed.
Better: the Delphi component libraries made writing a GUI application easy. I've never seen anything of their quality and ease up through today, and I still miss being able to get an application running by just subclassing some standard components and writing the core logic I needed.
Sometimes I kind of miss Delphi 7. The way it makes it easy to create apps made programming so fun.
Such a shame it went downhill after the .NET stuff.
Such a shame it went downhill after the .NET stuff.
After the death of Python, Oracle and Delphi go really well together... give it a shot if you want to see the future.
Edit: this is a historical reference... search for "Oracle Delphi Python"
Edit: this is a historical reference... search for "Oracle Delphi Python"
I am bit older than average so I used Delphi in its golden days. Even today few of the old customers need old apps maintained so I keep Delphi 7 ready.
It _is_ great IDE/language.
It _is_ great IDE/language.
Verity Stob has chronicled the tribulations of Delphi enthusiasts in a series of commentaries:
https://www.theregister.co.uk/2006/03/07/borland_ditches_del... ... https://www.theregister.co.uk/2016/05/20/verity_sons_of_khan...
https://www.theregister.co.uk/2006/03/07/borland_ditches_del... ... https://www.theregister.co.uk/2016/05/20/verity_sons_of_khan...
I learned VB3 at 13, and moved to delphi at 14. It was amazing. As easy as VB, but all the power of C++. I made my own DLL's to use in VB, just because I could. It was the coolest thing ever.
Fast forward years later, and plenty of intermediate languages (C, C++, Java, ...) I got hired into my first professional software developer job ... as a delphi developer in a company with a big multi-million line delphi codebase they wanted to migrate to the web. I had done some web development, so I ended up writing features on both the delphi and web teams, often the same feature. So I became intimately familiar with the trade-offs of delphi vs web development.
The thing about delphi: it was/is insanely productive. In the beginning it took about 3 to 5 times as long to write a comparable feature on the web side. It ended up driving me to research cutting edge web dev techniques to find some way to approach the productivity levels that delphi gave. In the end we almost got there, using rich frameworks and a component-driven UI. But to this day the delphi team can still get a feature done faster than the web team, and that's despite an IDE which is much weaker than webstorm/intellij. Object Pascal and the VCL are just that good.
However, I wouldn't do a new project in Delphi. You're locked into an ever more expensive product with an uncertain future, and the productivity advantages just aren't worth it anymore. You can get close enough using an open source dev stack, and the value of having all your tools be open and free is significant.
Fast forward years later, and plenty of intermediate languages (C, C++, Java, ...) I got hired into my first professional software developer job ... as a delphi developer in a company with a big multi-million line delphi codebase they wanted to migrate to the web. I had done some web development, so I ended up writing features on both the delphi and web teams, often the same feature. So I became intimately familiar with the trade-offs of delphi vs web development.
The thing about delphi: it was/is insanely productive. In the beginning it took about 3 to 5 times as long to write a comparable feature on the web side. It ended up driving me to research cutting edge web dev techniques to find some way to approach the productivity levels that delphi gave. In the end we almost got there, using rich frameworks and a component-driven UI. But to this day the delphi team can still get a feature done faster than the web team, and that's despite an IDE which is much weaker than webstorm/intellij. Object Pascal and the VCL are just that good.
However, I wouldn't do a new project in Delphi. You're locked into an ever more expensive product with an uncertain future, and the productivity advantages just aren't worth it anymore. You can get close enough using an open source dev stack, and the value of having all your tools be open and free is significant.
Delphi is still popular in the south of Brazil. It's dying, but slowly.
There's a lot a legacy application written in Delphi here. Some old programmers, that only know to program in Delphi, may even build new apps with it.
It may not be that modern today, but there's the "pay the bills" mindset.
I think Delphi will die, but only because it costs a fortune today. If it had a resonable price, many people would continue to use it indeterminately.
There's a lot a legacy application written in Delphi here. Some old programmers, that only know to program in Delphi, may even build new apps with it.
It may not be that modern today, but there's the "pay the bills" mindset.
I think Delphi will die, but only because it costs a fortune today. If it had a resonable price, many people would continue to use it indeterminately.
My first gig was writing telecoms software using Delphi 3. Good times! Then Inprise bought Borland and shipped a buggy version of Delphi 4 which was a pain. Like many others I jumped ship when I heard what Anders was doing with C#. I don't regret the move but I thought Delphi was great.
I never used Delphi, but I have a couple of friends that were die hard Delphi fanatics. Eventually they moved on to C# as all of the Delphi jobs dried up with Delphi's continually decreasing use. They still swore how they thought it was the best thing they ever worked with, but at the end of the day you have to pay the bills.
Maybe it really is great, I don't know. I was a bit surprised looking at Tiobe (http://www.tiobe.com/tiobe-index/) that they rank it as the 9th most popular language right now. Where is this actually being used? And the price tag is incredible!
Maybe it really is great, I don't know. I was a bit surprised looking at Tiobe (http://www.tiobe.com/tiobe-index/) that they rank it as the 9th most popular language right now. Where is this actually being used? And the price tag is incredible!
I was just having this conversation with an acquaintance about the software glut. When you do something well, you don't have to do it again, just enough to keep it compatible with the other things it needs to work with. So it takes a team of 50 people to make a product and then 10 people to maintain it forever. So where do those 40 people go?
The latest answer has been annual licenses.
The latest answer has been annual licenses.
[deleted]
Free Pascal/Lazarus is great. Glad they finally have Delphi Starter free but still it's not enough and the limits suck.
Hey Marco, I still have your Delphi 5 book :-)
FWIIW, where I work, I started using Delphi 5 when it came out. As of now we have about a dozen D5 desktop applications all essential for the core business that are in active use and supported as necessary, running happily on Windows 10. I don't see why it won't continue like this for another 15 years... The bosses (who are non-programmers) don't really care that D5 is out of fashion - because it all just works (and rocks).
The only reason I couldn't upgrade to a later version (Unicode is one thing that would be useful) is I am stuck with one critical and long discontinued grid component.
Looking back I am not sure how we could have lived w/o Delphi. Well maybe it's an exaggeration, but certainly life would have been more difficult. Everything else from before .NET/C#/Windows Forms looks like a nightmare.
FWIIW, where I work, I started using Delphi 5 when it came out. As of now we have about a dozen D5 desktop applications all essential for the core business that are in active use and supported as necessary, running happily on Windows 10. I don't see why it won't continue like this for another 15 years... The bosses (who are non-programmers) don't really care that D5 is out of fashion - because it all just works (and rocks).
The only reason I couldn't upgrade to a later version (Unicode is one thing that would be useful) is I am stuck with one critical and long discontinued grid component.
Looking back I am not sure how we could have lived w/o Delphi. Well maybe it's an exaggeration, but certainly life would have been more difficult. Everything else from before .NET/C#/Windows Forms looks like a nightmare.
Was wondering... is there any modern all-in-one RAD-tool nowadays? And if not... why?
Has there ever stopped being a need for this?
Has there ever stopped being a need for this?
I too often see a fundamental misunderstanding of what made Delphi so great. Yes, you can drag and drop controls onto a form in a lot of tools. It can compile native code. And yes, Object Pascal was nice to read and maintain.
But the real issue is rapid database applications. Being able to create business apps very rapidly was always Delphi's thing. It was a really fantastic replacement for Paradox and brought Turbo Pascal and Paradox together to create something amazing.
For that there still isn't anything. There are a lot of things that are close, but nothing with the same level of power and speed. The closest thing I've found is Django. Hopefully that clarifies: it's not about GUI anything.
But the real issue is rapid database applications. Being able to create business apps very rapidly was always Delphi's thing. It was a really fantastic replacement for Paradox and brought Turbo Pascal and Paradox together to create something amazing.
For that there still isn't anything. There are a lot of things that are close, but nothing with the same level of power and speed. The closest thing I've found is Django. Hopefully that clarifies: it's not about GUI anything.
I remember Borland vs Ms
I eventually had to move to VB when my Delphi job dried up. VB felt like a downgrade. I remember constantly referring to Dan Appleman's book so I could use Win32 APIs to work around the limitations of VB. I'm not knocking VB as it's one of my favorite tools too, but Delphi was the cream of the crop.
Delphi vs VB
TASM vs MASM
Borland C++ OWL vs Microsfot C++/MFC
Philippe Khan vs Gates
Delphi was the raddest RAD tool. The free VCL components for it were often better than commercial VB ActiveX components. Delphi executables were faster. Delphi could statically link everything.I eventually had to move to VB when my Delphi job dried up. VB felt like a downgrade. I remember constantly referring to Dan Appleman's book so I could use Win32 APIs to work around the limitations of VB. I'm not knocking VB as it's one of my favorite tools too, but Delphi was the cream of the crop.
By an interesting coincidence I was given a CD with tons of software on it, including Delphi 2. I started playing with it and quickly realised I could create my own programs using that tool.
Later I went to the book store and found a book about it that I couldn't afford. So I came back every week to read as much as I could, then heading back home to try it on my illegal copy of Delphi. (I was 11)
Then I realised there was a help manual embedded in the distribution, so I learned as much English as I could so I could understand that manual.
Little by little I learned about conditions, loops, object programming and made a bunch of terribly crappy yet working games.
No amount of studies could have taught me as much as I learned through using that software. No manual work could have given me the fun I had when programming my very own games. Reading "Delphi" as a headline on hacker news made me feel nostalgic and I figured I'd share my story here.
So thanks Borland, the 11 year old me may not have paid to use that software, but it was enough of a revelation to make me the programmer I am today.