top | item 13650730

22 Years of Delphi and It Still Rocks

301 points| vs2 | 9 years ago |blog.marcocantu.com

337 comments

order
[+] alex_duf|9 years ago|reply
I remember using Delphi 2 when I was younger, that's how I learned programming. If you don't mind hearing my personal story, keep reading, otherwise move on to another comment.

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.

[+] marcosdumay|9 years ago|reply
> so I learned as much English as I could so I could understand that manual.

:)

I started learning English as a kid to understand what was happening on the MS BASIC programs I could get on my computer by the time.

[+] mateuszf|9 years ago|reply
Hey, it sounds very similar to how I learned programming. That's how I started too, apart from the fact that I had a simple Turbo Pascal book from the beginning, but I also learned writing programs using an illegal Delphi 2 CD.
[+] amadeusw|9 years ago|reply
Ditto! I feel the same way. I learned both English and programming on Delphi 3. The first program I wrote showed and hid a picture on the screen. I wrote a few games, but didn't understand types and generics until years later.
[+] alain_gilbert|9 years ago|reply
Same story here !

For nostalgia's sake, may I ask what games/software you developed at the time ?

On my end, I did:

  - Snake, and a Snake level editor,
  - Sokoban, and a Sokoban level editor,
  - an adventure game Zelda (NES) alike (but was not fun at all !)
  - Graphic calculator (to help me visualize the change of parameters quickly),
  - a software to visualize my grades compared to the rest of the group
  - I made a software to search and categorize html tags
(during my high school years)

What impressed me the most at the time, was that my binary file compiled on Windows ME would work directly on my other computer with Windows 3.1.

This is something I still really enjoy today with Go(lang); the fact that I can just compile for other platforms and run it natively.

[+] neves|9 years ago|reply
Years of boring english courses, but I really learned when I had to read the manual of my TRS-Color!
[+] dfox|9 years ago|reply
I started programming in basic (first on ZX spectrum clone, then QBasic) but really started writing meaningful programs in BP7 and then Delphi. On the other hand I'm pretty sure that I learned english by printing out the whole readme for Build engine that was on the Duke Nukem 3D CD and reading that.
[+] desireco42|9 years ago|reply
This is such an awesome story! Good for you and your initiative, going to bookstore every day to read the book.

I came from Turbo Pascal, it was never the same but Delphi was such an awesome environment that I enjoyed making things with it.

[+] gerryk|9 years ago|reply
This sounds like me, except the year was 1986, and the software on the bunch of floppies was Borland Turbo Pascal. Included photocopied manuals too.
[+] schnable|9 years ago|reply
This is pretty much my story as well, I learned how to program for real on Delphi 2. Though I was able to get someone to buy me the book. Thanks for sharing.
[+] treve|9 years ago|reply
For me it was Turbo Pascal 5.5. It was amazing!
[+] yoodenvranx|9 years ago|reply
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?

[+] ptero|9 years ago|reply
IMO Pascal is a good, clean language and Borland was a top engineering shop that built Delphi as a rapid development tool that supported Windows. At the time there was nothing comparable for Windows development. There was a huge marked for Windows consumer applications and games (Linux was not a household name yet) and very little outside of clumsy Visual Studio to write them. I recall reading at WSJ at the time that Borland CEO was the only person whom Bill Gates feared as a competitor.

That said, it was 20 years ago. Now there are IMO much better cross platform tools for RAD (Python, Tcl/Tk, ...) and Delphi is showing its age (no Linux targets?). Unless I have to live in a Pascal world there are much better tools today. My 2c.

[+] metachris|9 years ago|reply
The strong point of Electron is easy _cross-platform_ application development and packaging (spits out .exe, .app and Linux binary), with no further dependencies. Ever tried packaging a QT application for Mac, Windows and Linux? I can tell you it's a painful experience, one I don't want to repeat.

Also HTML+CSS allows for extremely versatile styling and fine-grained control of appearance.

[+] jsudhams|9 years ago|reply
I miss VB6 and VB.net desktop apps as well. still my go to platform for personal apps, so easy to write. Not really sure why for internal company apps people are moving to webapp.
[+] rubber_duck|9 years ago|reply
Web has a good deployment/discover-ability/accessibility story, Node/Electron/Cordova are just there to reuse the work you already did.

It's not technically superior but it's economically superior since you usually get maximum reach with web and then minimize cost with the hybrid approach.

[+] ivm|9 years ago|reply
> Delphi is still unrivaled when it comes to rapid GUI prototyping in combination with easy deployment.

Try Unity3d component-based uGUI that you can edit live during the "playmode". After building complex UIs in it, going back to Xcode Interface Builder is like moving from iOS to a smartphone from 2005.

[+] marvin|9 years ago|reply
Windows Forms is still a completely decent option that gives you the same advantages.
[+] statictype|9 years ago|reply
What went wrong that we end up with this?

Shifting of priorities.

I remember when people used to complain that Delphi executables were 'bloated' and large - 200KB was the minimum size?

At that time the complaints didn't seem absurd when we were connecting via 36k dialups.

Admittedly we have probably swung too much in the other direction.

[+] erikpukinskis|9 years ago|reply
> Node/Electron with dozens of MB of runtime and all that Javascript stuff? What went wrong that we end up with this?

I'll tell you. Microsoft and Apple need to protect their native app license revenue, so they hobbled Netscape, brought browser development in house, and made a prohibition on allowing web pages to be integrated tightly into the OS.

If those electron apps could get the same OS integration in the browser as native apps get, the distributable could be kilobytes, even smaller than your Delphi executable.

But how would Microsoft and Apple make money if they're just a host for web apps? They're not going to turn themselves into a commodity/utility.

[+] riledhel|9 years ago|reply
And compile times were pretty fast too
[+] analognoise|9 years ago|reply
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.

[+] ziotom78|9 years ago|reply
I can confirm this. I have used it a couple of years ago for a GUI app I needed at work (1): Lazarus was a real time saver! When a colleague asked me if he could use my app under Windows, the porting process was 100% painless: all the code (~1000 lines of code) recompiled in an instant and the application worked like a charm.

(1) https://github.com/ziotom78/hpview/blob/master/README.md

[+] boznz|9 years ago|reply
+1 Amazing IDE and yes I have made a couple of commercial applications in it now :-)
[+] jug|9 years ago|reply
Also FreePascal does dependency free compiles to a crapload of platforms. Crazy! So crazy this could be a use case by itself.
[+] Animats|9 years ago|reply
I just ported an old Pascal program to Free Pascal, and it went very well. It's a nice system.
[+] mamcx|9 years ago|reply
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."

[+] krylon|9 years ago|reply
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.

[+] codewritinfool|9 years ago|reply
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.

[+] silveira|9 years ago|reply
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.
[+] Elrac|9 years ago|reply
You've reminded me of the reason I loved Delphi's help. I think what I found most helpful (and most unusual for the "state of the art") was that most help pages had "see also" links. This allowed me to look up something similar to what I needed and just follow the links to what I really wanted.

I was able to use the Help pages as (almost?) my sole reference for the API. Something that just wasn't happening with Delphi's big competitor, VB.

[+] bencoder|9 years ago|reply
That was pretty much how I learnt programming
[+] spiralx|9 years ago|reply
Yes, I learnt Pascal from the Turbo Pascal docs and then moved onto Delphi from there.
[+] kozhevnikov|9 years ago|reply
The Stack Overflow Driven Development (SODD) model.
[+] madiathomas|9 years ago|reply
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.

[+] interfixus|9 years ago|reply
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?

[+] acqq|9 years ago|reply
> 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, ... "

[+] brunock222|9 years ago|reply
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 :)

[+] masterponomo|9 years ago|reply
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.
[+] pjmlp|9 years ago|reply
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.

[+] aylons|9 years ago|reply
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.

[+] eli_gottlieb|9 years ago|reply
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.

[+] fredsted|9 years ago|reply
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.

[+] kweinber|9 years ago|reply
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"

[+] binaryapparatus|9 years ago|reply
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.

[+] Joeri|9 years ago|reply
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.