Please, please don't ever start a technical article with anything that reads like this:
> Artificial intelligence (AI) is one of the most fascinating and rapidly-growing areas of computer science. Although still in its early stages, AI has already started to revolutionize the world we live in, with applications in everything from self-driving cars to medical diagnosis.
When I converted to Mormonism last year, I met an older missionary couple and bonded with the husband over our love for programming. He's a Delphi developer who supports legacy applications. He's had a lot of trouble finding work, but doesn't feel equipped to learn any modern stack. I think his wife is selling clothes online to support themselves.
I worked with Delphi personally and professionally for many, many years. You were at the precipice of unemployment in the 2000s if you used it then. To do it now? You're like a looney toons character suspended in mid-air. There's Delphi work around, to be sure, but you're competing against people with 30 years of commercial experience building -- or rather just keeping them limping along -- today, and they are as desperate as the Powerbuilder, Oracle Forms, FoxPro and Lotus Domino folk in scratching out an income in a stagnant pool.
Delphi died an ignominious death a long time ago, and it is truly sad. I miss it; frontend development today is a joke compared to what we could do with Delphi. But so what? It's dead. And it's not coming back.
He should have a look at Filemaker -- it's an active product with customers that need help (last time I checked) and owned by Apple, so it's not going anywhere for at least a bit longer. The dev environment is at a similar level -- I think, I'm not that familiar with Delphi.
This last week I've been receiving emails from Embarcadero (I can't recall ever registering on their site, but it's possible that I did in the quarter century I've been online) so, together with this post, I suppose management is doing some marketing push.
As a former Delphi developer, this is very far from truth, in my experience. Nothing modern beats the ease of RAD with Delphi, where you had actually business people making complex software (with a huge amount of tech debt, of course).
I'm not saying it's better - Delphi sucks for a lot of reasons - but this is the only aspect where it really shines.
Have you tried WinForms? It’s a similar workflow to Delphi except I find C# a lot nicer to work with than Pascal. WPF is also good if you need a program that’s more flexible with being resized, but you have to do your layout in XML rather than drag and drop (although you do still get live updates of what your window will look like while you’re writing the XML).
- the license was very expensive and the commercial relationship felt predatory
- new features got added all the time, while long standing bugs weren't prioritized (e.g., mobile apps support)
In the C++ variant (a combination of C++ with Delphi wrappers):
- the compiler(!!) was unstable and crashed a lot, where you had to make small irrelevant changes to your code to make it compile without crashing itself
In general:
- the overall culture around it seemed to attract developers without concern for technical debt, which maybe was a consequence of Delphi's own strengths; i.e., every Delphi project was a big ball of mud that you had to fight against
By that logic, if modern LLMs existed in the 80s, you’d have never learned Haskell, Ocaml, Rust, Go, Erlang, … and all the cool concepts and ideas that came with them. You’d still be programming Basic and Fortran, simply because that’s all the models knew.
AI may be helpful at times, but to limit one’s self to only the knowledge and experience they have is… short sighted at best.
You got a point here however I would just flip his argument. It is best to rely on LLMs that have a lot of training data exposure, and here is Python etc. dominating over Delphi.
I for example find LLMs not useful in regards to coding on 6510 or 68000 especially in assembler when developing code for a product of the demo scene.
x86 became pretty useful lately, but still, on certain machines with bit manipulation, you would better take your time to triple check your code and don't rely on LLM.
I tried to make some LLMs write (GW-)BASIC and they failed miserably. Maybe they were only trained on some modern BASIC that doesn't look like BASIC at all? Could not convince them to use line numbers at all. Maybe with a lot of context they could do it, but my prompts did not work, even making I clear I wanted line numbers.
(Free)Pascal seems to work great though. I think enough of that is in training data that it can be used as well as any language. There isn't much special to consider to get it right. It is not like figuring out how to do Rust or C++.
Unfortunately this is what AI is leading to. People will stop learning new languages and companies will stop developing new ones because AI is now supposed to write code.
You might be right. Have you seriously considered that you're wrong though? What if you're investing a dead craft and it never pays off? have you engaged with that idea and rejected it?
Regarding the former, I’m nearing retirement age, so personally I don’t care as much; I’m no longer “investing [in] a dead craft”. Assuming it is dead (I don’t think it is).
Re the latter, I have rejected it. I love problem solving. And I consider programming a tool I use to solve problems. Regardless of whether it’s an LLM or my old C text book, if I limited myself to only what came before me, then I can’t possibly improve on the current situation. My solutions would be in a perpetual state of stagnation. I can’t speak for others, but that sounds boring AF to me.
Programming languages are tools in a toolbox. Use the proper tool for the job instead of always picking up the hammer.
It takes time to train and use a new tool. That applies to LLM and humans. Would you use the same drill to hang drywall and core through a concrete floor?
Feed it documentation and example code and given sufficient data of these, it will do just fine with obscure languages. I have tried it with programming languages as obscure as Odin, for example, and it worked nicely. It is way more awful writing Forth, for one. YMMV.
Probably depends on your specific company or industry
Personally I've never seen anyone use Pascal as anything other than the butt of a joke or a background slide on "how far we've come" since the 80s. Nobody even seems to remember object Pascal.
... But I'm also in a sector that routinely relies on Fortran code so ymmv
It lasted for a few years as a first-class supported language, but by the early 90s they shifted most of their focus to C++ so the system API being in Pascal became more of a legacy annoyance than anything. You got to deal with Str255 types, putting "\p" at the start of all your string literals, remembering the rules for when to pass by reference or pass by value when you call toolbox functions, etc.
The fact is that without Object Pascal, there would not exist employees to work on MPW at all, or even Apple most likely.
Maybe in some alternative universe they would have been just as successful using BCPL, but the fact C and C++ were ignored at Apple until some employees came up with MPW as side project until it was too late to turn back, speaks volumes about Apple culture.
Just as it does the way A/UX was originally designed.
Apple officially supported C for Macintosh application development even back when they were still making devs do all their work on Lisas (see http://www.bitsavers.org/pdf/apple/lisa/workshop_3.0/Lisa_Wo...), but you're right that they were a majority Pascal shop until they shifted to C++ around when System 7 came out.
As much as I love Object Pascal (it was my first programing language) it has no reason to exist in 2025 other than legacy applications and small RAD windows programs.
Lazarus (kinda of a Delphi clone that also uses Object Pascal) is probably the best way to make cross platform native desktop applications that actually uses the native GUI toolkit for each platform.
I hear it is quite popular for creating GUIs wrappers for CLI tools.
What kind of evidence do you want? I wrote Delphi for years and I'm now a Typescript developer. Is there any current major software written in Delphi?
The most important ones I found are the windows MySQL GUI, Cheat Engine and Total Commander. I genuinely was searching for more than 10 minutes and everything else is either abandonware or has been rewritten to a different language.
FreePascal, that I believe is supposed to be reasonably Delphi compatible, supports
"Intel x86 (16 and 32 bit), AMD64/x86-64, PowerPC, PowerPC64, SPARC, SPARC64, ARM, AArch64, MIPS, Motorola 68k, AVR, and the JVM. Supported operating systems include Windows (16/32/64 bit, CE, and native NT), Linux, Mac OS X/iOS/iPhoneSimulator/Darwin, FreeBSD and other BSD flavors, DOS (16 bit, or 32 bit DPMI), OS/2, AIX, Android, Haiku, Nintendo GBA/DS/Wii, AmigaOS, MorphOS, AROS, Atari TOS, and various embedded platforms. Additionally, support for RISC-V (32/64), Xtensa, and Z80 architectures, and for the LLVM compiler infrastructure is available in the development version. Additionally, the Free Pascal team maintains a transpiler for pascal to Javascript called pas2js."
You do not get that much portability with many other languages. C, perhaps. But FreePascal has a bigger standard library and many other libraries that support many platforms. It is also a much safer language with checked array bounds and while there is support for low level unsafe things you do not have to use those nearly as often as in C. And while the compiler might not be as fast as Turbo Pascal (or Delphi?) it is still amazingly fast compared to any other compiler I have used this century.
What's not to like? Guess the lack of attention from developers and potential risk of there not being enough around to maintain it? I honestly do not know, but you do not hear much about it and not many projects seem to use it.
It's exploding, just look at my post history if you will i just asked about it yesterday that it climbed from 183 to 10th place in the tiobe index in just 5 years! It's absurd, I don't hate it but the 'oject pascal' is just too alien if you come from C, C++ or even C#/java or even PHP background. In fact I don't even know what it resembles? Is it fortran? ok, i googled it: so it's simula, I mean if we pretend object pascal = Delphi and they are very similar or the same thing, right? Is anyone using Simula in 2025? It's not an easy learning path...but I'm not against it, hope it becomes alternative to the "C"-influenced languages.
I hardly disagree with the first part of your statement, but the second half it should be noted that Microsoft hired the designer in chief of the delphi language at the time to design c#
> Artificial intelligence (AI) is one of the most fascinating and rapidly-growing areas of computer science. Although still in its early stages, AI has already started to revolutionize the world we live in, with applications in everything from self-driving cars to medical diagnosis.
I worked with Delphi personally and professionally for many, many years. You were at the precipice of unemployment in the 2000s if you used it then. To do it now? You're like a looney toons character suspended in mid-air. There's Delphi work around, to be sure, but you're competing against people with 30 years of commercial experience building -- or rather just keeping them limping along -- today, and they are as desperate as the Powerbuilder, Oracle Forms, FoxPro and Lotus Domino folk in scratching out an income in a stagnant pool.
Delphi died an ignominious death a long time ago, and it is truly sad. I miss it; frontend development today is a joke compared to what we could do with Delphi. But so what? It's dead. And it's not coming back.
why?
This is the evolution. It has never been easier to make apps just by using a browser that runs on all platforms.
I'm not saying it's better - Delphi sucks for a lot of reasons - but this is the only aspect where it really shines.
Also, Delphi apps can be made to run on Linux, Mac and even Android and IOS.
Interface builder had that on macOS; that’s basically dead now. I feel like Visual Basic had that too? I don’t know if that still exists.
- the IDE was unstable and crashed a lot
- the license was very expensive and the commercial relationship felt predatory
- new features got added all the time, while long standing bugs weren't prioritized (e.g., mobile apps support)
In the C++ variant (a combination of C++ with Delphi wrappers):
- the compiler(!!) was unstable and crashed a lot, where you had to make small irrelevant changes to your code to make it compile without crashing itself
In general:
- the overall culture around it seemed to attract developers without concern for technical debt, which maybe was a consequence of Delphi's own strengths; i.e., every Delphi project was a big ball of mud that you had to fight against
https://en.wikipedia.org/wiki/Anders_Hejlsberg
AI may be helpful at times, but to limit one’s self to only the knowledge and experience they have is… short sighted at best.
I for example find LLMs not useful in regards to coding on 6510 or 68000 especially in assembler when developing code for a product of the demo scene.
x86 became pretty useful lately, but still, on certain machines with bit manipulation, you would better take your time to triple check your code and don't rely on LLM.
I would love to see a change here.
(Free)Pascal seems to work great though. I think enough of that is in training data that it can be used as well as any language. There isn't much special to consider to get it right. It is not like figuring out how to do Rust or C++.
As next step of low code/no code tooling, the agent will do the actions for us.
We are already seeing this on SaaS offerings.
- professionally (for money) - personally (for knowledge’s sake)
Regarding the former, I’m nearing retirement age, so personally I don’t care as much; I’m no longer “investing [in] a dead craft”. Assuming it is dead (I don’t think it is).
Re the latter, I have rejected it. I love problem solving. And I consider programming a tool I use to solve problems. Regardless of whether it’s an LLM or my old C text book, if I limited myself to only what came before me, then I can’t possibly improve on the current situation. My solutions would be in a perpetual state of stagnation. I can’t speak for others, but that sounds boring AF to me.
At least it’ll eventually become easier to distinguish oneself with something better. You’ll just always be slower.
It takes time to train and use a new tool. That applies to LLM and humans. Would you use the same drill to hang drywall and core through a concrete floor?
Personally I've never seen anyone use Pascal as anything other than the butt of a joke or a background slide on "how far we've come" since the 80s. Nobody even seems to remember object Pascal.
... But I'm also in a sector that routinely relies on Fortran code so ymmv
Maybe in some alternative universe they would have been just as successful using BCPL, but the fact C and C++ were ignored at Apple until some employees came up with MPW as side project until it was too late to turn back, speaks volumes about Apple culture.
Just as it does the way A/UX was originally designed.
I wrote Mac OS, which was replaced by OS X.
macOS is a rebranding from OS X.
Delphi is pretty much relevant in Germany, to this day there are conferences to attend to.
You can still get tickets for this year,
https://entwickler-konferenz.de/en/
I hear it is quite popular for creating GUIs wrappers for CLI tools.
They are the main product, not something that is seen as cost center nowadays.
Also they cross compile to all major desktop and mobile OSes.
The most important ones I found are the windows MySQL GUI, Cheat Engine and Total Commander. I genuinely was searching for more than 10 minutes and everything else is either abandonware or has been rewritten to a different language.
https://www.embarcadero.com/case-study/image-line-software-c...
https://jrsoftware.org/isinfo.php
You can also use Delphi to produce Android, iOS, macOS, and Linux apps. All from single code base.
https://www.freepascal.org/
You do not get that much portability with many other languages. C, perhaps. But FreePascal has a bigger standard library and many other libraries that support many platforms. It is also a much safer language with checked array bounds and while there is support for low level unsafe things you do not have to use those nearly as often as in C. And while the compiler might not be as fast as Turbo Pascal (or Delphi?) it is still amazingly fast compared to any other compiler I have used this century.
What's not to like? Guess the lack of attention from developers and potential risk of there not being enough around to maintain it? I honestly do not know, but you do not hear much about it and not many projects seem to use it.
From his own words, https://behindthetech.libsynpro.com/001-anders-hejlsberg-a-c...
... and Anders Hejlsberg continues to be the lead architect of C# and is also core developer of TypeScript!