Hacker News new | comments | show | ask | jobs | submitlogin
Delphi's 25th Birthday (community.idera.com)
182 points by mustafabisic1 5 months ago | hide | past | web | 194 comments | favorite

I loved Delphi. It was amazing. But then they ate their own future by going to the stratosphere with enterprisey tool acquisitions nobody remembers the names of any more; then they fell back down to earth, and flirted with Kylix -- Delphi for linux -- but at a time of great upheaval in the linux desktop world, and it never really took off either.

Meanwhile, the former creator of Delphi had left for MS and created C# that at the time was already beating Delphi at its own game.

By the mid 2000s Delphi was already dead in the water: poor unicode support, no 64-bit compiler, and a language that hadn't innovated much since the 90s.

It's a shame, really. Delphi in the 90s was on its way to rule the world. Only then suddenly it wasn't.

> flirted with Kylix -- Delphi for linux -- but at a time of great upheaval in the linux desktop world, and it never really took off either.

It's worth noting that Kylix's failure to take off had a lot more to do with Borland's variously stupid, obnoxious and immoral business decisions than it had to do with the upheaval in the Linux desktop world. It was a strong enough concept for a product, and the base technology was implemented well enough, that all they had to do was not screw it up... and guess what they did?

All these years later I remember saying "fuck it" when Borland decided to wrap up some important bug fixes into the (full price) upgrade for Kylix, rather than just giving them to existing users. The smug uselessness of the one or two Borland employees who liaised with the community online has kind of stuck in my memory as well. The technology deserved to survive but the company sure didn't.

In the bubble they definitely thought they could not die; they were shooting up people who were aware of Linux made a lot of money from their shares at that time (if they sold in time as they never recovered). The CEO at the time acted like it would last forever and I guess he took the employees with him on a smugness ride. Such a shame as they could've gotten far as you say.

My first paid programming job was Delphi. Worked with 1, 2, 4 and 6 I think. Then it went extremely enterprise. And I'm saying that even though it was used for an accounting application.

RIP. You were great once.

I had the same experience and I often wonder about the tendency to "go enterprise" - it seems more like sabotage than idiocy after enough coffee. Probably just the consequence of excessive profiteering /shrug.

I organized the Borland developer conference in my country as a marketing intern in 2004 and it was still quite popular, but it's true the web was just around the corner to eat desktop apps.

I also remember a coworker had been approached by MS to work on the DotNet marketing campaign and he declined, as it was seen as kind of a failure with a very uncertain future. Hindsight is 20/20.

edit: personally I have found memories of Delphi3.

I still remember interbase, now called firebird. Of course, sqlite is much more prominent today for an embeded database, but for the times without sqlite...

Sadly i have to use that piece of shit called firebird.

It has all the downsides of service based DB without all the advantages of file based DB.

And the documentation is way below average, backwards compatibility is a joke.

Not to mention the 3rd party software had to design their own(horribly bad) way to handle geometry in firebird... and they keep transactions open forever - and bloody firebird prior to 2.5 had no way to drop the dead connections.

I’m genuinely interested in your frustrations, because I’ve been using Firebird to great satisfaction for about a decade. Some more substance would be required, however...

Interbase was a proper client server db. If you wanted embedded you needed Paradox. Ah, I have many happy memories of pulling all nighters repairing corrupted Paradox files...

No, you can (dynamically) link Interbase into your app, so the server runs in-process. You can also do it with Firebird: https://www.firebirdsql.org/pdfmanual/html/ufb-cs-embedded.h...

Was it always that way? My memory is failing me.. I'd hate to think those nights in the 90's were completely wasted!

I vaguely remember that Interbase was a proper client/server thing at first. I'm pretty sure we were using Paradox databases with all their quirks in 1998-2000, including support people fixing broken db files for customers.

Heh, good memories of hitting ^Z in the Interbase command line client app to suspend it, and it pausing the entire server until the client was unpaused or killed. I'm not even sure how that could possibly happen (unless there was some blocking heartbeat thing), but it was 100% reproducible.

Firebird is still actively developed as open source software:


Firefox was originally to be named Firebird, but they had to rename it because the name was already taken.

An it was called Phoenix before that because, you know, "Netscape, reborn", but they had to rename it because of a trademark complain. And that's why Firebird was choosen.

Exactly. Phoenix bios company made the complain. That said, I think Firefox is the better name.

I always thought NexusDB was the database to use in Delphi days?

My impression was they had already lost the race before they went down the enterprise route. If anything it was their general failure in the market that pushed them down that route.

They were under pressure from Microsoft (Visual Studio, FoxPro, Access and others) as well as from the web which was disrupting everything at the same time.

I used to love Delphi in the late 90s, and if someone could do a late-90s-Delphi-like experience for programming UI-heavy software today, and do it right, and in a way that properly integrates with the anno 2020 tech landscape, then I would love to use such a thing.

In a bout of late 90s nostalgia, I convinced my then-employer in 2011 to buy a license for the professional version of Delphi for a software project I was doing, and I was just absolutely shocked about how far it had fallen behind the curve. It seemed that attempting to support a modern tech ecosystem while maintaining some semblance of backwards-compatibility was giving it the worst of both worlds. Add to that enterprise bloat.

I don't know what it's like today, but I sincerely hope that someone will get it back on the right track (or has already done so, as I haven't retried since my experience in 2011).

> I sincerely hope that someone will get it back on the right track (or has already done so ...

2020 Delphi supports five platforms, has 64-bit compilers everywhere, has modern language features, interoperates with C++ through C++Builder, and more. In the past few years especially, we've* seen both a lot of work on it, and increasing interest in using it.

It's modern, and used more widely than one might realise.

* "We've": This is a personal HN account but I work on Delphi and C++Builder.

Thanks for chiming in! I'll give it another spin, if I get some time.

...although language features, 64bit, and integration with C++ were never really where my quarrels were.

If we take "rapid application development" out of its trademarked context, applying just its common-sense meaning, and applying it to the year 2020, then the modern tech ecosystem that one would want to integrate with is clearly not C++, but rather maybe JavaScript & the browser ecosystem, Python, and low-overhead JVM langauges like Scala or Groovy.

The next thing that immediately jumps out at me is that the form designer is still using pixel-based positioning, instead of layout managers and units of length that we know from html, like em (fontsize-based), or vh/vw (percent of view-height/view-width), etc.

I was trying to research these things more extensively just now, but giving you my name, street address, company, phone number, and then "Error: Field required: Yes, I would like to receive marketing communications" for downloading the COMMUNITY edition? Come on! Enterprise bloat: Check.

Haha. 10 minutes further into my Delphi-in-2020-exploration (60% of which was the time that the installer actually took), this was the sequence of events:

* Hit the installer and switched windows, to let the installer work in the background.

* Installer mysteriously gone.

* Tried to run the programme, and it took some digging to understand that the product seems to be in a half-installed state.

* Re-run the installer. This time, keeping the installer in the foreground. Now it works.

* Started Delphi.

* Dropped a button in the form designer to start playing around.

* Oh gosh. Form designer still using pixel-based layouts.

* Deleted the button.

* Doing some Googling to figure out how to do layout managers, and found an interesting youtube tutorial on something called TGridLayout.

* Dropped a TGridLayout on my form.

* Form Designer now caught in an infinite loop bringing up an Error modal that says "Control TButton($17EE2200) has no parent window. Path: ~TButton($17EE2200)".

Thanks Delphi! See you again, another 10 years from now.

...feels like a relationship with an old friend who you've lost touch with when he became an alcoholic, but every now and again you feel bad for him and think you owe him a meeting.

Sorry to hear it crashed. And no idea re the installer. Just out of interest, did you file a bug report? Because I've been using the grid layout recently and have not seen an error.

> Oh gosh. Form designer still using pixel-based layouts.

If you build a desktop app, you'll get pixel-based layouts, because that's how Windows works. It is fully high DPI enabled and scalable, so it's not accurate really to call the units pixels. Call them design units or similar.

As you noted there are various layout tools, from containers with various flow behaviours, through to anchors and padding.

We use Delphi for some of our older applications (everything new is migrating to either C++17 or Go). I remember upgrading the IDE (forget which version, but it was about 3 years ago) and after loading my project, I hit F1 to bring up the help menu. The whole IDE crashed... Between little surprises like that and the insane licensing price, I'm glad we're moving off of it. I don't have any objections to the language itself, but the tooling just isn't where it needs to be.

I’m working on yazz Pilot which is supposed to be a modern take on Delphi or Visual Basic. I will take your comment to heart and make sure we implement proper layouts and positioning for the web

> has modern language features

What kind of modern language features has it gained?

One of them would be generics, some languages are still having issues implementing them.

It's just the one particular language, and the reasons were political :)

Do you plan to open source it and adopt e.g. Qt-like business model? e.g. charge for service, not tools (except probably some enterprise chart or reporting components).

I really wouldn't call it modern, unless you consider C++ modern.

C++ is modern.

C++14 and later are modern. What people commonly refer to as “C++” also includes C++03, which needs to be put out of its misery.

Well, historic stuff obviously is historic.

Hi there! I’m working on Retool (https://retool.com), which is “Delphi in the cloud”. The goal, as you said, is to make it easier and faster to build “UI-heavy software”. If anybody has any comments or suggestions on how we could market something like this, please let me know! In david@. Thanks!

Not sure exactly where your product lands in a continuum between where Delphi was in the late 90s and where Microsoft Access was in the late 90s with its ability to create forms on top of databases, or maybe Oracle Forms. Delphi was the more heavy-duty option for cases that involved a more substantial investment in coding-up actual logic.

Now when I think "substantial investment" and then look at your website, what comes to mind is "lock-in nightmare". Sorry, not trying to be cruel, just wanting to give you an honest opinion.

I mean: Picture a development team pouring real efforts into development work, then training end-users to use the final product. That represents a real investment. And that investment is then locked into a vendor, where it's unclear what will happen to that investment if the vendor should decide to change the pricing model or go out of business.

I guess the original Delphi did have that problem, but the world was just a different one in the late 90s. You bought your copy of Delphi on a CD with a perpetual license, and an organization that had lock-in to Windows NT software would see it as a perfectly viable path, to keep those Windows NT systems running for the next 20 years to recoup any investment in software. Plus Microsoft was actually pretty good (and continues to be good) at establishing backwards-compatibility.

That applies to any platform though. It being open source doesn't mean it won't be abandoned or become poorly maintained. Look at the massive churn web frameworks have seen.

Cloud tooling definitely has the problem that vendor financial troubles = a sudden "our incredible journey" and poof, your app is gone. That's something client side apps don't have to worry about.

Wasn't this the idea behind WinForms and VS.NET? I even think some of the original Delphi people worked on it.

For those interested, Free Pascal and Lazarus, the free open source implementation of Delphi, is amazing. It has an active development community and works on most all platforms.


> Free Pascal and Lazarus […] is amazing.

No, it is less than mediocre. It has not kept up at any sufficient pace to other languages and environments. Just a small excerpt because I don't have the nerve to write an exhaustive critique: bignum, first-class functions, generators, lazy lists, lexical scope, macros, namespaces. Single window in Lazarus requires recompilation that errors out in CheckLst.pas instead of being a preference somewhere in a menu.

What are your issues with scope in FPC? Namespaces have been supported since 3.0.

The other things I understand though. I much prefer Pascal syntax and compilation time, but I have started reaching for c++ these days

> What are your issues with scope in FPC?

Simple begin/end should create a scope, cf. { … } in ES6 or Perl. Instead, to make it work, the programmer has to nest named procedures.

> Namespaces have been supported since 3.0.

Sorry, I did not notice. Apparently it's been available for 5 years, but the standard library or other popular libraries did not adopt the feature.

What are the advantages / pros of this vs. the free Delphi Community Edition? Seriously asking, as I've been out of the "Delphi sphere" too long and not really familiar with the latest developments but looking to get back into it.

The advantages? The compile works on must every CPU and platform, including Windows, Mac, Linux, Raspberry Pi, Gameboy Advanced, Amiga, and on and on.

Also it's open source, so when you are writing code you can actually navigate to the underlying sources and step into everything with the debugger if you want.

Finally, it comes with library support for so much more than Delphi, including Google APIs, FreeType, Cairo, Fuse, and so on.

Oh and it can also build to Java byte code and run in a Java JVM, also to Android.

Did I mention it's free and open source under active development?

"The compile works on must every CPU and platform"

Not just the compiler. If the board has enough juice one can run the entire IDE itself on it, therefore developing on the same iron. I've tried Lazarus on old H3 based NanoPIs and slowness aside (microSD, years old board, 1G RAM) it was perfectly usable to write, compile and run code on the same board. Not an ideal condition, still speaks a lot on why Open Source is great. I wish the IDE supported more languages and compilers though, and even a basic port of the LCL and debugger to them would be a huge achievement.

But does it have devexpress widgets? A pivot grid is a really nice thing to have.

What's the difference between this and https://www.lazarus-ide.org/?

(Same thing. Not sure why there's two websites.)

Ok I kinda find out.

https://www.lazarus-ide.org/ is made by the Free Pascal team, that's the "official" version. It has precompiled binaries to download https://www.lazarus-ide.org/index.php?page=about

https://www.getlazarus.org/ is a different version (but not sure by how much), using download scripts https://www.getlazarus.org/about/

I find it ironic they describe it as “25 Years of Excellence” because, as much as people go on about the competition, what really broke Delphi was its poor quality control

I bloody loved that language, but all of the components had serious errors that resulted in crashes. To make it worse, they are their own dog food, meaning the IDE itself crashed all the time.

This wouldn’t have been so bad, but then VB5 happened, which was much, much worse semantically but absolutely rock solid.

Of course, then C# happened, but devs like me had already left the ecosystem. (And the less said about all that bundled cruft the better.)

Never had the problems you mention till Delphi 7.

I always found the even versions (D4,D6) buggy while D5 and D7 were very reliable.

D4 had bugs in its COM code. In 2000 I worked at a Dotcom (homedirectory.com) and we used a D4 COM search component running in SQL Server 6.5. It used to crash when the CPU load went above 5%. I guessed it was D4, recompiled under D5 and that fixed it.

Microsoft as part of its settlement to Borland over the employee poaching (including AH) provided technical info that let D5 generate reliable COM code.

Delphi was pretty notorious for having some sort of tick/tock quality problem, for unclear reasons. Presumably some kind of botched project management inside Borland.

Delphi 1 was a mess. Delphi 2 was rock solid. Delphi 3 was a buggy mess. Delphi 4 kind of recovered things but was never as good as Delphi 2. By this point we'd figured out the pattern and skipped Delphi 5, if I recall correctly.

5 and 7 was solid...

1 was 16 bits only. 2 turn to 32 bits AFAIK.

The IDE was still a 32bit app and was seriously unreliable and insanely slow last I looked (2017 or so, the compiler finally got 64bit support though!).

What killed Delphi is $3000 per seat cost. Single starting developer or students cannot afford that. So there is no community and it's impossible to find Delphi programmers.

They used to give it away. I learnt to program from a free magazine cover-disk Delphi, and its excellent help system.

We give it away now too :) There is a Community edition, where the license terms are basically that you should buy it only if you make significant revenue. Students, hobbyists, early stage startups etc - free.


Too bad you don't actually let us reinstall the software we already paid for.

Not sure what you mean there, sorry.

It is quite simple. I mean that if you install the software N times; perhaps because you often switch and rebuild machines; and you do not have a current subscription; Dennis in tech support will not reset your license registration limit; and you will never be able to install the software again.

I'm not sure that $5000 would count as significant revenue (I'd prefer an extra zero on that) but I suppose it's reasonable that if you earn enough from Delphi to pay for it, you should.

I can't find the new pricing on the website (everything is free trial / request a quote) but I remember the last time I saw pricing it was so much that I opted to kill the one Delphi-made product I had rather than upgrade. I'm using Xojo instead for my cross-platform RAD development now.

From reading the product-editions page, am I misunderstanding things or is the community version unable to even access a database?


I can't see students not needing DB access let alone 'early stage startups', without TDataSet et al, it would be effectively useless/worthless. (we're STILL using D5 where I work)

No - you can do everything in Community you can in Pro, the main paid edition. You can certainly use databases. We generally have a higher SKU for remote databases.

sorry but remote database = postgres, mysql (or any relational db server)

that is ridiculous in 2020

and you only get that with the "enterprise edition"

"professional" only gets you embeded and localhost DB ?!?

I still have my old separate Firedac licence for an old project i support, but anybody new coming to this mess will just have a good lough and move on.

No source code, thus bad debug experience. 32 bit only.

I suppose it is not easy for you (as a tool supplier).

Delphi's Community edition comes with source code and you can debug into the inbuilt libraries. And with Community you can build 32 and 64 bit apps for Windows, iOS, Android, and macOS.

They figured it out but only recently, now the race is over.

A while ago I got to do some consulting/auditing for a couple of companies in the medical field, and looking under the hood of their infrastructure, I was surprised to see that two of their most important apps for daily use (one a scheduling/filing/CRM behemoth, one a 3D analysis program) are developed in Delphi. You couldn't tell it from the GUI but in one program directory I saw a VERY familiar ico on an exe and my interest was piqued). I went so far as to put one through a decompiler (IDR) to find out which version of Delphi had been used.

So, it seems that Delphi is alive, kicking serious butt and making some companies loads of money, developing beautiful modern enterprise apps.

I, like many others, got my start in programming with early Delphi versions in school - Delphi 3 truly was my first love and I recognize the splash screens that are currently on display at https://delphi.embarcadero.com up until Delphi 2007, but 6 and 7 give me a warm, fuzzy feeling. We parted ways in the mid-2000s but I can honestly say, I never got back that feeling of joy and love for a language and a programming environment that I had for Pascal and Delphi (then again, I never had to deal with any messy legacy projects and component issues back then which surely drove some developers nuts).

Anyway... seeing that Delphi is still alive and watching a few YouTube videos about the new features it got over the last 10 years, including the stunning cross-platform development options for Android, iOS, web and PC (and apparently you can integrate with Sencha ExtJS, although I'm still unclear on how), I downloaded the free Delphi Community Edition - which is GREAT - and knocked out a beautiful little client-server app for a PoC over a weekend. Could hardly fathom the adrenaline rush I got from that...

I'm seriously considering putting in a purchase request for the Architect edition now... buying that at full price used to be a dream of teenage me and I think it's not even as expensive as I remember :-) Can't really justify it but then again, it's a chicken-egg problem and you've got to start somewhere.

You probably can't say that out loud, it being heresy and whatnot, but I could imagine that even now, schools could get more students to develop a love for programming on a wider and more versatile scale with Delphi Community Edition rather than Java or Python... There I said it, pls don't kill.

> I downloaded the free Delphi Community Edition - which is GREAT - and knocked out a beautiful little client-server app for a PoC over a weekend. Could hardly fathom the adrenaline rush I got from that...

I'm one of the product managers who works on Delphi today (together with Marco Cantù. I actually work on C++Builder, Delphi's sister product.) I am really happy to hear that.

Your question about Sencha: we recommend using Sencha for web front-ends, and we have a server product written with Delphi for creating REST services or converting your desktop apps to REST-based backends, called RAD Server.

> I could imagine that even now, schools could get more students to develop a love for programming on a wider and more versatile scale with Delphi Community Edition rather than Java or Python... There I said it, pls don't kill.

It's widely used in non-English-speaking countries for education today. I too expect it would be much better than Java for learning.

Ah, C++ Builder... Borland wasn't afraid to patch the language (hello closures!) to get the features they needed. I loved that IDE, it made me a decent amount of money back in the day and it was ridiculously easy to get a full featured desktop application up and running, sprinkled with some Paradox on top it could do a lot! I will have to give it another look today, if nothing else then just to check who's aged better - the tool or the programmer

Marco, DavidI, DrBob42, Cary Jensen, Nick Hodges, Treehouse Guy, Ray Konopka all a blast from the past :)

> I'm seriously considering putting in a purchase request for the Architect edition now...

Go ahead, make Embarcadero sales department happy. Delphi has not evolved substantially in years. They pretty much keep the product on life support, milking whatever they can from support contracts. I don't see a reason to invest your money and time in Delphi unless you have a legacy application to support.

For the future "interest was piqued" would be better than "peaked" :)

Delphi was great for developing custom solutions for middle class companies. Not end-user stuff, but no enterprise either. That kind of software vanishing coincides with that whole business sector getting smaller.

From a technical perspective, it was my favorite attempt to tame a often horrible mess of half-baked database design and ad-hoc solutions -- you can do spaghetti code in every language, but the Delphi apps I saw were usually a bit better than their FoxPro/Access/FileMaker/VB equivalents.

I don't see your point. Skype was done in Delphi, and it was pretty much end-user and very successful. There are many other apps: Skype, Nero Burning Rom, WinRAR, Partition Magic, Panda Titanium Antivirus, TuneUp Utilities, Aida64, BeyondCompare, Total Commander, CloneDVD, Ultra ISO, KMplayer, Gold Wave, Sound editor. And I am sure there are many others.

I meant that software for mid-sized companies isn't end-user programming, but not enterprise development either and that Delphi was pretty great for that. Often single developer, often embedded database.

Didn't want to imply that Delphi wasn't/wouldn't be great for the other ends of the spectrum, too.

Here are a few more: fl studio, convert x to dvd, homesite, spybot search and destroy, resource hacker, innosetup, and originally mysql workbench

Siege of Avalon was a pretty great RPG written in Delphi, now open-sourced[1] (no work done on it since ages). I remember liking that it was somewhat "mundane", i.e. upgrading your armor didn't mean that you start out with knightly full plate and it goes all out fantastic after that.

[1]: http://soaos.sourceforge.net/

I think TOAD was written in Delphi to

Wasn't FL Studio written in C++?

I wrote two MIDI sequencers in Delphi and a couple of audio editors.

A lot of audio software and VST plugins, in the early days, was done in Delphi.



We love making our software with Delphi since 2002 and it always provided us with a rock solid foundation until today.

In those 18 years (>2.000.000 downloads) we never had a single critical failure. Ever.

The rapid prototyping capabilities help us to design and _experience_ user interface in no time.

Firemonkey allows us to create Mac & Windows multi-plaform software from a single code base.

As a commercial software company that needs the job done reliable and efficient, Delphi just never disappointed us.

Yes, we know there is #C, .NET, Java but we see no need to change something that just works so well.

Cheers, Bartels Media from Germany

Still, to this day, I know of no other solution that beats Lazarus+Free Pascal in easiness of stitching together a cross-platform GUI program and just works out of the box.

Do you guys think that closed source general-purpose programming languages have any future? In the late 90s and early 2000s both Java and C# were closed source. Still, they became highly successful. Today many people wouldn't even touch a language or a framework to build a business on unless it's Open Source. It's surprising how the programming landscape has changed in the past 20 years.

.NET only became open very recently, it's been quite successful. The entire iOS/Apple developer ecosystem is closed source of course. Maybe Swift isn't but nobody uses it outside the Apple platform.

You could argue Microsoft is an exception and them opening .NET shows the end of that era though.

The "open source or nothing" mentality might change in future. It means there's not much market for developer tools, so everything gets hacked together out of random "frameworks" found on GitHub that are here today, gone tomorrow when the bored developer at Netflix or Google gets their desired promo and moves on. There's no real planning or design, just whatever random stuff tech firms throw in the mix as a side effect of other projects, which is why HTML has virtual reality support but no table or spreadsheet view worth a damn.

Hmmm. Agreeing with the sentiment of your argument while looking at the flip side of the coin, the fruit borne of the ad-hoc lack of coordination you describe is sadly easily overwhelmed by domain domination exerted from committees and bureaucracies with vested interests in specific fields.

Which kind of information-leaks that either VR is hype noone really cares about, or that none of said committees (with attendant lumbering bureaucracy) have really noticed it yet. Wait, I just described the same thing two different ways.

But yeah, no, it would not do to have The Web℠ Platformᴳ, errrrr, "excel". :P

Yes, there's a certain robustness that comes from an evolutionary approach. And some of the web's competitors died because they couldn't (in my view) correctly analyse and match the web's strengths, because those strengths were never planned or written down anywhere. Figuring out why the web is strong is sort of like trying to figure out how our own bodies work. Sure, we can see the component parts. How they come together to make the whole a success is often less clear.

On the other hand, let's not kid ourselves. The web wasn't actually built by making a melting pot of diverse ideas with an evolutionary process to select between them. The web has always been controlled by one dominant company, and the stuff that gets added (or not) reflects the agenda of their internal committees. The web went from being controlled very, very briefly by Tim BL to being controlled by Netscape who added forms, cookies, JavaScript, CSS etc. Then to Microsoft, who added a pile of other stuff and then froze development for years whilst Mozilla tried to get off the ground.

Mozilla added relatively little to the web given the resources invested into Firefox; virtually all their energy went into trying to fix their own architectural mis-fires. Then WebKit came along and very briefly Apple was in charge. That era didn't last long until Google came along and took the crown, which they've had ever since. Unlike Apple and Mozilla, Google actually have added a lot of stuff to the web platform but it reflects a consumer driven agenda. Hence WebVR, WebRTC etc.

To the extent the other players exerted any influence on the Chrome team during this time it's - in my view - been mostly negative. Mozilla lost to Chrome because their technical choices just weren't that good, but they've continued to exercise outsized influence on decision making despite dwindling market share.

Additionally the lack of any real support for libraries or dependencies in the web platform means many of the new APIs added to HTML can't be challenged by competitors. WebAudio sucks but nobody can make a better one because of the sandbox.

In the end the web isn't really the result of ad-hoc coordination so much as a dysfunctional lurching tug-of-war between different groups of engineers who all work down the road from each other at different firms in California (with a detour through Seattle).

Yes they do.

C, C++, Ada, Pascal, Basic, Oberon compilers for embedded market, in many cases, certificed compilers.

Commercial UNIX, mainframe and Windows compilers (VS Community doesn't cover everything) are still a separate product.

Sony, Nintendo, MS SDKs for their game consoles.

HPC compilers, yeah you can try with clang and gcc, but if you are doing top research, then IBM, Intel, CodePlay, PGI compilers is what you want to be using on that hardware, and they cost pennies versus the total hardware cost.

And even in what concerns Apple, I would consider that XCode is somehow included in Apple^s hardware price.

I think the standard approach is to not add extra constraints.

Are you writing general purpose, portable code code? You'd rather not be locked in to a specific vendor's compiler.

Are you working in embedded systems? Your code is probably hardware-specific, at least to some degree. You probably aren't going to switch CPUs very often. You probably are never going to switch CPU families. You also probably are never going to upgrade the compiler, still less switch to a different vendor's compiler. So if you aren't going to do that anyway, you don't worry much about a one-vendor-only compiler or language.

I think it's a similar story in HPC. You're constrained by your hardware. You get the best compiler for that setup. That means it's hard to change compilers? It's even harder to change your hardware, so you didn't add much of a constraint.


Wow, 25 years. Wasn't onboard right from the start but something like Delphi 4 or 5 when I was in school. Ended that "career" with some cracked version of Delphi 7 Enterprise (obviously one needed the biggest version as a 16 year old!). I have good memories of Delphi, was my start into programming. Nice to see it's still around.

I've basically learned programming and database design in Delphi 7, using a couple of thick textbooks + Win32 API reference (.chm; no internet back then for us). The smoothest developer experience (build, GUI design, debug) I've ever had. Despite I had a rather mediocre PC at that time, it was snappier than anything modern, save for not-quite-IDEs like VS Code.

The experience was awesome! Just hit F9, if I remember correctly, and everything worked (sometimes). Export as a .exe and you were good to go.

Maybe I should get into it again, not sure. :-D

In case you still want to work with it : https://www.lazarus-ide.org/

What's the difference between this and https://www.getlazarus.org/?

Ok I kinda find out.

https://www.lazarus-ide.org/ is made by the Free Pascal team, that's the "official" version. It has precompiled binaries to download https://www.lazarus-ide.org/index.php?page=about

https://www.getlazarus.org/ is a different version (but not sure by how much), using download scripts https://www.getlazarus.org/about/

Actually, if one wants to try out Delphi,


Lazarus and FreePascal are great, but they aren't 100% Delphi.

They also have a significantly lower barrier to entry. Just by scanning the Delphi page, I'm guessing the free one doesn't include the Linux version as advertised for the big for-pay editions. And the download is hidden behind a registration form. blah.

Professional doesn't even include the Linux version. You need to buy enterprise for that...

I went there and got a registration form. I field some garbage data in the first few fields and then the form just went bonkers.

I made my first substantial, steady paycheck with Delphi. It was pretty great for its time, and it really lowered the barrier for entry into programming, and especially GUI-based programming. I wasn't a huge fan of Pascal, so I ended up continuing to work in C++ Builder, but this stuff was _such_ a breath of fresh air back when Microsoft tooling sucked real bad, and Visual Studio was not "visual" at all. There were entire sites chock full of reusable Delphi/C++ Builder components that you could just download and easily integrate into your code. Then Borland lost Anders Hejlsberg, and Microsoft gained Anders Hejlsberg, and within a few years we saw C# (clearly inspired by Object Pascal) and Windows Forms (clearly inspired by VCL).

MS Visual Basic had windows forms as long as Delphi if not longer and long long before .net came along.

I think that was referring to "Windows Forms" the .NET library, not Windows forms in general.

OK but I've used vb6, vb.net, Delphi (and Lazarus) and they are all pretty much identical in terms of dropping in controls onto a form, writing event handler code and setting properties. So to claim that delphi's vcl is clearly the inspiration for this in .net is a bit of a stretch.

They are very similar architecturally and in terms of language features, to the point where someone with Object Pascal background would feel right at home. Also it was the first Microsoft visual UI design framework backed by a _real_ programming language.

At work our main product is all Delphi, some 300kLOC not counting the components and libraries (DevExpress, SecureBlackBox etc).

There's been more and more talk about moving to something else, but a complete rewrite would likely be a death sentence so...

Still, for whipping up some quick GUI that does file IO and/or DB stuff there's not much that beats it. Though having to consume REST APIs or similar newfangled things is not such a pleasurable experience.

Whats the problem with the REST Api's, I haven't tried it but thought it would just be a matter of dropping some TDataSources and so on?

The built-in REST library is verbose and tedious, and it doesn't do HTTP pipelining which means any non-trival API over HTTPS will be slow as a dodo (though maybe they fixed this recently, haven't checked latest version).

In addition, the built-in JSON stuff is also tedious to use, I found SecureBlackBox's variant with some class helper to provide basic XPath-like access to be quite a lot more ergonomic to use. But JSON still feels like an impedance mismatch.

Thanks for the info

I started my lifelong love of coding with Turbo Pascal.

At the time we coded on a Sperry Univac 1100 system at varsity and it took bloody ages to compile/debug/run programs.

When I got a loaner PC and a copy of Turbo Pascal it was so amazing and fast.

When I started in college in 1989 our school had an IBM mainframe with terminals where you would type in your Pascal code and submit a compile job and if there were bugs you would get a green bar paper printout that you had to go across campus to get. Through a friend I was able to get a official IBM file upload utility (he was in IBM’s summer sales rep program) and figured out that Turbo Pascal also compiles the (UCSD?) flavor of Pascal that the mainframe ran. While everyone else was doing the compile-print-walk loop (there were no terminals in the building with the big mainframe chain printer) I was interactively debugging my code in Turbo Pascal on my Tandy 1000 in my dorm room and then uploading it over dialup. It was awesome.

What kind of insane university has the terminals in a different building from the printers?

I'm going to guess that the staff didn't have to use those terminals, only the students did.

From a developer viewpoint i can name three things that have stopped Delphi from competing with languages such as C# and JAVA.

1. No Garbage Collector. While some understanding of object lifetime is required, the constant need to manage allocation and de-allocation of objects takes a lot of energy away from the writing code.

2. Naming variables in a separate Var block. This is really cumbersome and detracts from the development experience. This was somewhat fixed in Delphi 10.3 which was released in 2018 or rather 23 years after the first Delphi version.

3. The unrealistic pricing of Delphi. The high cost of licensing has throughout the times meant that other programming languages have been chosen on this fact alone.

If (1) and (3) could be fixed then Delphi might stand a chance to gain significant market share.

I've probably spent a similar amount of time tracking down memory leaks in C# as I have with Delphi. Garbage collector or not - desktop gui app, with lots of event handlers can cause things to hold on to memory a lot longer than they should. Having a garbage collector in these cases just seems to give a false sense of security.

Agree with 3.

1 sounds like you need to get experience on more platforms though. Maybe try to work on a memory restricted platform using a GC language and see how it fucks you over. Anyway, look beyond the javascript "ecosystem".

And while 2 can be mildly annoying, there's a reason Borland compilers are so fast, and that's the somewhat restricted syntax of the language.

Don’t know what relevance the JavaScript ecosystem has. I would pick a language with a GC any day and then deal with issues later on, than to struggle every bit of the way without a GC IMO.

4. Irrelevant features: every release needed some cool sounding feature, that inevitably turned out to be no use.

> 1. No Garbage Collector

I somewhat disagree. Strings are refcounted which removes 90% of the potential pain. Interfaces could be used to ensure objects were freed at end of function scope. Full GC would have ruined Delphi IMHO (if you wanted GC you used VB, or Java which had downsides related to it’s GC. Delphi Apps worked great on low resource machines).

Happy Birthday Delphi!

If Borland's management hadn't messed up, .NET and Java probably would never had taken off on PC world.

I'm sure there was management issues in the 90's. But I'm of the opinion Borland's fate had a lot to do with Microsoft's embrace, extend, and extinguish strategies of the era.

If you ever listed or read Anders interviews, those management issues are also one of the reasons he ended up leaving Borland.

Most university students in Portugal during the 90's would also gladly accept Microsoft job offers.

I always find ironic that the companies that sold out to Microsoft are always the victims, the poor souls never did anything wrong.

I think there was a news/gossip item back in the day that MS offered him 1M/year and Borland/Inprise refused to even come close to matching that. Their loss.

Someone wrote a full audio tracker with ASIO, VST etc. in delphi in the 90s; a pretty impressive feat.

Its still avaliable: http://www.madtracker.org/main.php

Thread talking about it: https://www.madtracker.org/forum/viewtopic.php?t=180&sid=7df...

Well, as opposed to your average RAD medium, in Delphi you could even sprinkle pieces of assembly in the middle of your Pascal code.

So you could basically do anything with it, all the time not worrying about aligning buttons on a form because it was piss easy.

Yeah, i spoke to the guy who wrote it and he used a lot of assembly optimization.

Delphi, great tool, to write apps in. I can still remember the anticipation/excitement of my dad when he discovered Sibyl was being build. Delphi for OS/2! I found an interesting article about it: http://www.edm2.com/index.php/Sibyl,_a_Visual_Development_En...

My dad used OS/2 for a long time :)

Ah, sweet Delphi ... To this day, it remains the best visual development environment that I have experienced over 25+ years. Powerful - yet intuitive and simple - UI, blazingly fast compilation speed, rich sets of built-in and third-party visual component libraries. I have started with Turbo Pascal, which was certainly the breakthrough at the time, and have also worked with C++ Builder and a bit with Interbase & Firebird, but spent most of my Borland ecosystem time with Delphi. Recently, looking for potential better (Delphi-like) alternatives to modern convoluted world of Web development, I have explored Lazarus and several related projects, but none of them seems to provide the same comprehensive-yet-intuitive solution (backed by a solid company) that Delphi has done in the desktop development world. Perhaps, some good relevant projects will emerge in the future, but, until then, I will focus on mastering one of the "standard" modern Web development stacks (e.g., TypeScript + Vue) as well as exploring quite promising Blazor and, generally, WebAssembly technologies.

I basically learned how to program using Delphi 2, as a 16 year old who somehow ended up writing the LOB software for a small business owned by a family friend. Lots of good memories of that. My career would probably be farther behind if Delphi didn't provide all the pieces to write a reasonable client-server application out of the box.

annual birthday party didn’t happen though - one developer couldn’t make it due to sickness and the second one decided not to go not wanting to feel alone ;-)

At least in what concerns German community, there would be a couple more showing up.

Delphi is alive over here, even if only on corporations with big pockets.

It was (is?) also popular in eastern Europe, especially considering a relaxed attitude towards copyright laws - even gov and public schools used to run (still run?) illegal copies :)

I learnt Pascal at Uni in the late 1970s and programmed in Turbo Pascal from 1986 on and then Delphi D2 since 1997. Slightly off-topic but two of my applications written in Turbo Pascal:Warlord and Quest, in the period 1988-1990 are still in use today. Both are postal games now run on the internet by kjcgames.com.

I'm currently maintaining and extending a major proptech application with 1.3 million loc of Delphi (XE7). Not so long ago the firm bought another firm with its own a 1.3 million loc of D7 code! There's still a lot of Delphi code about.

I programmed a lot 20 years ago as a hobby. I started at 13 with TP7 and some pascal books borrowed from my older brother. Later I "got" Delphi 1 and 3. Crated some smallish programs for myself, like a magic card db program when I started to play mtg. Fun times.

I start with TP 5.0 or 5.5.

Same here, my introduction to OOP was preparing an high school class presentation about Turbo Pascal 5.5 new OOP features.

I ought to Pascal being introduced to systems programming and OOP in a much saner way than other alternatives.

Delphi 1 on Win 3.11 and 4MB RAM. Long long time ago.

Customer VCL development too, how cool was that.

I learned object pascal (Delphi) in school in high school (now 18 years ago) and it was love at first sight. Coming from ansi c and ansi c ++, the lack of the garbage collector has never been a problem. But then the license costs stopped me as well as the fact that I am a supporter of the open source world. A few years later I discovered lazarus and the free pascal and I must say that since then I have never abandoned them (now 12 years in which I program for linux / windows and for a few years also for mac os and raspberry all for free). If the delphi had lowered the licensing costs and made the product open source in its time it would have killed the market, but it was not so.

One small language feature I liked about Delphi was class properties.

I used Delphi at my first job, while studying in the university, where we were taught Java (and C and other languages), what I really disliked were Java's getters and setters, which seemed like a clunky and pointless verbosity, compared to the properties in Delphi.

Python has the @property decorator, I wish other languages had something like that. Qt also has foo() and setFoo(), instead of getFoo(), which makes sense, and reduces verbosity and visual clutter.

This is exactly what I like too about Delpi (and Pascal if I remember correctly) compared to C++ and Java. Julia, which I use now, has a similar feature but properties are less extensively used there (except for interoperability with Python). But it is a great feature to reduce the clutter in your code.

On my current work the main enterprise system client is written with Delphi and still in active use. I worked for years to gradually replace it with web system with Java, but there's still a lot to do. While I hate it with passion, because it was written by a few generations of developers with very poor practices, the mere fact that it exists and works is a testament to Delphi former glory.

Another component is Oracle 9i running on Itanium HPUX. At least it works fine.

Borland's Turbo products were my entre into PC programming in the last 80s. It's amazing, but not unusual, how quickly they descended into utter irrelevance.

Borland made a lot of mistakes with Delphi, but the best part of delphi was VCL was shipped with the source, it was a great introduction for the Win32 API world.

The language that everyone knows and now no one uses.

Compared to the hundreds of millions using languages like python, C#, Javascript etc.?

It's mostly a dead language. Didn't even hit the 2019 developer survey on stack overflow. My university never used it and no company I've ever been in has used it and I've been with 4 already.

Here are a couple of links with some awesome Delphi applications https://beyondvelocity.blog/2019/05/19/awesome-applications-...

There many lists like these with many new apps popping up.

I find the fact that there r quite a few games very interesting. I guess, there maybe a decent set of libraries for 2D and 3D graphics.

Delphi is great; just ensure you always stay subscribed. Their tech support team regard properly managing their own strict license system as 'a courtesy' and will prevent you from installing the licensed software that you purchased. For that reason alone; I am out.

> will prevent you from installing the licensed software that you purchased

Could you elaborate on that? I'm actually interested in procuring Delphi commercially after getting to know the free Community edition recently and I'd like to avoid any licensing pitfalls if possible. I can't really imagine how they would stop you from installing a properly licensed and purchased software but if they do, I'd be curious to know how to avoid running into that situation. Thanks.

You have a max. number of times you can install and after that you can only get it re-activated by buying a new version..

This was a hot topic at their forums. Sorry, can't locate that now, but here is a post of somebody who bumped into this:


It's pretty customer hostile if you ask me.

The fuck ?!?

Firstly: I liked Delphi a lot; learned it a long time ago.

Straight risk avoidance advice:- You need to install the Delphi software on a completely dedicated system that you never plan to reset; and image back it up; and hopefully that will work. And install the software on a Virtual Machine and back that up. And/Or always renew the subscription if the new features make any sense to you or not. Do these things and you will be Ok.

My experience was:

I am programming as a hobby; even so - I don't like to commit a huge amount of my personal evening and weekend time to software with a toy license that restricts what I can do with it.

In 2017; Delphi started to look good again; I got the starter edition; really liked it; found it useful; thought why not support the developers; and upgraded to the commercial version at 10.1; also purchased a number of really nice plugins; (used Delphi in my spare time project for a year or so); very happy with the results.

Stopped using it for a while; because my project was finished. I also messed around with Delphi on a couple of my systems while playing with mobile apps and Macs; found it much less useful there.

My main focus is windows desktop not mobile; I was playing around with new pre-release versions of Windows; I had to reset those systems when they got out of hand.

I ended up unable to reinstall 10.2 (my third party components need that.) So I contacted support; and was knocked back; with a cold email.

I guess the licensing methodology may be legal (not a lawyer); but it does not seem fair or reasonable to me.

I have written a lot of Delphi in projects I can not rebuild; I own several third party components that are now useless to me. The current version is I think 10.3; I was subscribed up until 10.2.

Other feedback

I think Delphi is good for Windows desktop programming; especially for GUIs that connect to data bases; nothing like as exceptional for Mac or Mobile. With respect to those databases you used to need the Enterprise version to use MySQL etc; as the lower license agreement did forbid the use of database services; only allowing local data.

I ended up spending many enjoyable hours learning or re-remembering how the database connections worked in Delphi; and figuring out how my third party components all worked; then enjoyed gluing them all together in my programs.

Where I am now: I could purchase the latest Delphi and update all my components; for no real benefit to my project; or I can learn to like .NET core and get translating. The third party components I used; are also available for .NET; and there are thousands of open source packages for .NET as well. Not so sure about the GUI.

How do they stop you?:

To be completely clear; because that company likes to be fuzzy about it; I have a valid license; serial number; invoice; and online account (which I really need to delete); I am blocked because I re-installed the software too many times. Where too many; was not very many; and was not even concurrent.

All the best with your project.

The GUI builder was great, the build times were great, the debugger was great.

What was not great was Pascal, especially their version of it. It didn't even have a published formal grammar (as of Delphi 5), as I found out when trying to write some simple tooling for our codebase.

Interesting fact about the name: if you wanted to talk to Oracle, you needed to go to Delphi.


"I started my coding career using a Turbo Pascal clone for the Commodore Amiga, something called High-Speed Pascal, published by UK based company Hi-Soft."

It would be interesting if an open-source version of this Amiga Turbo Pascal clone - was available somewhere...

Here's an overview of Pascal implementations for Amiga: http://fpcamigawiki.alb42.de/index.php?title=Workshop:Amiga,... (however I think when they wrote "development seized", they actually meant "ceased" ;) )

Interesting link, much obliged!

Congrats! My new software (https://DocxManager.com - site builder and document manager) is built with Delphi :)

For those missing Delphi, have you considered VS/C#/Winforms? I gonna tell you than its binaries as portable as Delphi/Kylix(e.g. major platforms covered).

The language is much less annoying (oh how i hated Type and Var sections in the times). The gui programming style can be similar or can be modernized. The designer and component library is vastly improved. Third party components are cheap compared to today's "cloud" prices. There are libs for everything. Its free. Can be compiled to native binaries(not sure this will leave 'experimental'). Feels like a direct replacement to me.

Yes, that is my daily driver nowadays, however .NET AOT experience still misses a bit compared with Delphi.

And Delphi is still around, no need to talk as if it was dead.

In Germany, it has a regular section on the .NET developers magazine and an yearly conference.

Does anyone do something non legacy in it?

Their pricing is a bit of a barrier to entry for new apps now.

Their pricing is quite competitive for companies that buy Oracle, SAP, DB2, Qt, SQL Server, MSDN Enterprise.... kind of licenses.

That was Borland's mistake with their Inprise change, to abandon grassroots developers and focus on this kind of companies.

This was last year's conference, https://entwickler-konferenz.de/program-en/

Anyone using this hardware, is running Delphi on their network.


Yes, that's my point. They don't have anything for the small guy any more.

Basically losing the entire market where devs are allowed to choose their platform, because they won't be aware of it.

I suppose wining and dining the executives puts food on the table too.

I actually did some scant research on this recently and found out that they have a free Delphi Community edition which seems almost identical to the Professional Edition, has full cross-plattform capability incl. iOS and Android, and you can even use it commercially until you made a profit of $5000 off of your apps (if I'm not mistaken).

That'll probably allow 99.99% of students and hobby programmers and a good chunk of small businesses to use it free forever without ever hitting this mark and seems to me like one of the fairest schemes to use expensive software out there. It's what we always wanted 15, 20 years ago.

Imagine Microsoft or SAP or whoever offered you to use their Windows Server Datacenter or ERP or even Office suite for free until you made a $5000 profit off of using their programs...

It's about ALL profit you make, not just the profit of your delphi apps. IOW, it excludes all small businesses.

And it's very well hidden. I checked their site a couple weeks ago and I didn't see it.

Besides it's funny. 5000 income - 3000 delphi license leaves... not much?

A lots of industrial/medical/lab instruments still use Delphi for user interface and some high level control. Delphi is still quite popular, but more and more niche, in Germany, Austria and countries with manufacturing/development ties to those countries.

What’s a good tutorial for getting started building a cross platform Linux/OSX/Windows app using this stack?

This coming from a python guy who is looking to build a native admin area for a web product.

This template project has a REST back end (sounds like you already have that) and demos connecting to it from native clients and from AngularJS. You don't have to do anything special to hit Windows/OSX/Linux with it. The one project will compile to all 3.


Lets also don't forget C++Builder :)

Yes, still unbeaten in what concerns C++ RAD development.

For a short while C++/CX seemed to be finally it, but C++/Winrt has regressed the experience.

And neither of those (cx/winrt) produced standalone native executables.

Sure they do, perfectly binary only x86, x64 and ARM executables.

In fact, the Office team is probably the biggest consumer of C++/Winrt.

Sorry, mixed with C++/CLI (which needed .NET Framework). As for WinRT - I wouldn't pick anything that doesn't support the second most popular desktop OS - Win7.

Fair enough, a problem that Microsoft keeps fighting to this day, for whatever reason C++/CX means managed code.

Windows 7 is dead, it is the new XP, time to move on.

That was my tool of choice for years and I still think that if someone manages to duplicate that experience for the web that they'll make bank.

Borland once did a version of Delphi for the web, it compiled to PHP and was a bit of a turd.

I'd say ASP.NET Web Forms was the closest so far.

wow Delphi still around ^_^ Congrats!


At the time of the Delphi 8 release I went to a Delphi conference to get to know the community better. This was 2003 or so? I was evaluating whether or not to get more licenses for our company so we could put extra effort into developing Delphi for .NET.

Let's just say that I found the people there to be rude and insulting. Not just the people at the conference there but also by some of Borland staff there as well. A joke was played on me which I won't get into here but I didn't - and don't - appreciate being bullied.

Let's just say that the next day I abandoned Delphi and moved our entire company to Visual Studio and never looked back.

No offense, but that'd be like if you stopped eating your favourite vegetables because you once met an offensive vegan :-)

Why would you move your ENTIRE company to a different language/development system because someone was rude at a conference?

FWIW I felt out of place at conferences before, many are just an exercise in peacocking and showing off (and still, I have learnt some interesting things from some incredibly irritating people in my time). But I would never change something that I like and that works for me because other people that just so happen to use it too, are rude.

I've met arrogant and frankly insulting people at both Linux and Microsoft events, for example (Linux famously has people who can be wonderfully insulting on mailing lists and dare I say often deservedly so) but it would never occur to me to switch my entire company to, say, Windows Server, because Linus (heaven forbid) said something rude to me :-)

I can't even actually rule out that I might have behaved in a way that might have been interpreted as rude at conferences myself, especially after several days of travel, talks and general exhaustion. So I'd actually be curious to hear how you felt you were insulted or bullied or made a joke of so that I might keep an eye out for such behaviour myself.

FWIW, you may find that Borland is no longer around or involved with Delphi (and hasn't been for a decade now, I think), so the people might be different, too. I've certainly found Delphi worth a second look recently and hope the forums and communities of old have been or will be revived in some way.

> so the [company] might be different, too

I had an acquaintance who bought the most recent Delphi release (he’s a long term customer), but had some troubles so he installed the free community edition as a stop gap solution. They phoned him and bolloxed him and demanded he buy another copy, extremely rudely and extremely forcefully (almost as if the person calling had KPI’s for upsells).

Unless I had a burning reason to use Delphi, I would avoid it, since I don’t like dealing with stupid businesses if I can avoid it... Don’t burn your loyal customers...

In my experience the company treat individual customers with something akin to contempt.

OK I guess I did feel a bit butt hurt, but I was at that conference to genuinely get information about the latest features (MIDAS, ASP.NET integration, etc...) and my questions fell on deaf ears. It was being ignored and pranked upon combined with a general sense of directionlessness that turned me off of Delphi.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact