Delphi 11 and C++Builder 11 Community Editions Released
blogs.embarcadero.com
blogs.embarcadero.com
It makes me so sad that Borland tools are squarely in the dustbin of history, and are now maintained almost exclusively for legacy customers. I would love to read some kind of retrospective (a book, a series of blogs, etc) on the downfall of Borland and what exact business circumstances led to its irrelevance.
I've considered abandoning web-dev for Delphi/Lazarus. The web is a lousy fit for CRUD/GUI. React etc. are Spruce Gooses. (We need a dynamic over-http markup standard, kind of like a friendlier and XML version of QML.)
Delphi and C++ builder should have been ported to Linux and the BSDs by 2001.
They hitched their wagon to Windows and are now almost a footnote in history.
Come to think of it, almost all Windows only applications faced the same fate.
And C++ builder was never ported.
I remember having a "ruh-oh!" moment when a junior dev showed me his latest DHTML web page that did something we'd previously been doing in VB. The sudden realisation that this was significant and I'd better get on with learning it or be left behind was painful. The urge to continue dismissing the web as a good information source but not somewhere you did things was strong.
Besides, the early 2000s were the era of the “this is the year of Desktop Linux” tech articles. Of course that never materialized and Linux desktop is still pretty niche. So I don’t really see how lack of Linux support had anything to do with it.
My first serious language was Turbo Pascal 3.0. When Delphi came out, I jumped on board. My first programming job was as a Delphi programmer, starting with Delphi 1, switching to Java after Delphi 5 Enterprise. Delphi, and even C++ Builder were IDEs geared toward producing desktop client-server applications. If you were building web apps Java was the place to be.
Kylix never mattered, because Linux desktop applications didn't matter, generally speaking, so it never became profitable. Linux as an alternative to Solaris on servers was a huge deal though, and is now nearly ubiquitous. But again, Delphi came very late to the web application game.
The way the web changed customer facing software was amazing at the time.
No. I can't remember that ever being a thing, I've no idea where you got that idea from.
My point however is that when I started working in IT I was the only one at the places where I worked who used something other than Windows whenever possible and also advocated for it.
Then there was a change. And as far as I can see that change started with screencasting and as far as I saw, the first widely popular screencasts that existed was Rails, created mostly by 37 Signals (now Basecamp I guess) and other Rails devs/enthusiasts.
I might be wrong about this but I feel fairly certain these guys drove a lot of the change in peoples and organisations attitude to alternative OSes.
Also: for a long time it seemed Linux adoption was also lower in less wealthy countries as using unlicensed versions of Windows are much more accepted there.
As it turns out, the remaining 78% users (taking out the usual 2% from Steam surveys) that cared about POSIX tooling, were happy to use SUA, cygwin, mingw, Virtual Box, VMWare for their needs, and now have WSL in the box anyway.
That is an extremely good point that somehow escaped me.
When he joined, his first project was being part of J++.
I believe (and I have no prove) that during development of Delphi V1.0 Anders realized that his „baby", the source code of the compiler core written in 16-bit assembly became worthless. The new 32-bit compiler for Delphi V2.0 was written in C by Peter Sollich.
Anders new role at Borland was just to be an architect / manager / teamleader / whatever… He could have contributed to the new 32-bit compiler in a way he does today to TypeScript, but for whatever reason he didn’t wanted to. That, along with the Borland management and the nice $$$ signing bonus offered at Microsoft made him leave. Again, that's just my take.
Peter Sollich left Borland I think in 1998 in order to join Microsoft, to this day he is in the C#/.net team. https://youtu.be/LPcjSdob9AA
And I still wonder who has written Turbo Pascal for Mac in 1985/86…
"Anders Hejlsberg: A craftsman of computer language"
https://behindthetech.libsynpro.com/001-anders-hejlsberg-a-c...
Now if you want to tell he makes that up, I dunno.
Of course they were struggling to compete with Gorilla Microsoft, but Delphi had a huge community, commercial components, and most components were source available (C# was wayyyy behind on that I thought).
Borland fucked up, and after that it was dead and sold. 64-bit super was released years late, and the IDE still ran 32-bit (slow and crashy on high-end machines).
I would summarise it as lack of 'taste' for what developers want. Microsoft later followed the same path: Microsoft had the intense love of many developers but has squandered that love over the years. Balmer's "developers, developers, developers" rant was actually brilliant (a perhaps is why it is so memorable).
I only wish Delphi had a "favorites" filter for the Object Inspector, so you could quickly access your most needed properties without scrolling (that would save so much time when naming a bunch of components, setting captions or adjusting height and width). Never understood why such an obvious and simple feature was never implemented.
The other thing Delphi should really have is a way to "package and export" (or snapshot) the whole Delphi setup, with GUI settings, installed components etc. (similar to how Adobe InDesign lets you package projects with all font files, graphics etc. included), so you can save them along with a project. I find it still a big pain to open an old project on a new machine and having to spend three hours searching and installing components in their latest versions again. Oh well, maybe one day.
Anyway, so great to be able to do Rapid Application Development once again, the latest Delphi is a win, maybe Embarcadero finally saw the light again. Fingers crossed.
I recommend you install GExperts. It's a free, sources included, nifty utility that greatly improves Delphi IDE.
2: "The other thing Delphi should really have is a way to "package and export" (or snapshot) the whole Delphi setup...." ... "....I find it still a big pain to open an old project on a new machine and having to spend three hours searching and installing components in their latest versions again"
Those are 2 different things. For 1st part, get a docker container / VirtualBox / VMware machine and you can get everything in the snapshot way. I have a VMWare machine from 2007 with Delphi 7 and tons of components from that era, that works like a charm to this day. For 2nd part, to get latest version of components for latest version of Delphi - well, there is a GetIt package manager built in Delphi directly or you can just get the components from their vendors and use their installer. All major Delphi component vendors (TMS, DevExpress, ReportBuilder, etc) have that.
Have fun, I know I do everyday in Delphi. I am a freelancer for 13 years already and 90% of my projects are in Delphi.
I did the same back in 2007 or 2008 after spending 3 days with a consultant setting it up.
Then, before I got a working backup, the external drive that we had it on broke down :-/
Still remember the process:
I hunted source forge, bookshelves, file shares, cabinets and old vendor web sites to find every dependency we needed.
This was around the same time I was introduced to Maven and while it took me a while to fully grasp Maven, once I realized that one small tool could replace this process I was sold.
(To anyone who grew up with Nuget or NPM/Yarn: back you added depencies in Visual Studio the same way as you did in Delphi, by downloading them and double clicking them and clicking next, next, next, accept, next and install. And everyone still knew Javascript was a toy language and didn't need a package manager.)
How generous.
Not sure that differs from what Embarcadero’s been doing with the devtools unit it bought from Borland for the last 15 years by much, though.
I don't think anything "as proprietary as delphi" could be a "nice solution for cross-platform open source apps".
I don't want to be as severe as saying "they botched a release that otherwise could have been gamechanger," but it's very hard to deny x64 Android support is something I've been looking for in a long time from Embarcadero. I jumped straight into the Feature Matrix and got disappointed.
Back in my childhood and teenage years I played with Delphi until Delphi 7 Enterprise, after that the IDE got too heavy for my old computer (the XE release days). Today I have more than enough capable laptop and I don't feel like playing with Delphi anymore because I just moved on, but C++ is a language I appreciate and I'd like to take seriously for mobile development[0].
I'll start to think they whether they are seriously behind in technology to advance the C++ libraries and compiler to these platforms (which makes them, incompetent in terms of market strategy? underfunded?) or that they are deliberately hindering C++Builder, which has always been 2nd-class in front of Delphi (which shoots themselves in the foot?). It's so unfortunate they couldn't/didn't release x64 Android support on this C++Builder release.
I'm not saying Delphi should die, as I said previously: Delphi is the language that got me into programming, before it made me go away thanks to its heavy IDE back then... I loved Delphi, but I don't want to go back to it just to develop mobile apps. I guess I'll keep on my road to Flutter and reading this launch post was just a 5-minute distraction.
--
[0]: I'm well aware I can use Java or Kotlin and then jump into Android NDK, yeah... I just miss using a RAD-type IDE.
Delphi was my first language for actual software, alas (or fortunately?) that code has been lost to the mists of time. But I pretty much bailed Delphi during the Insprise BS (it came at the time I was moving to linux and "adopting" Java and C[++] so from a "keep developers around" PoV the insprise BS was well timed for me to abandon to just say F this).
This release is great as he’s just moved over to a HiDPI screen and Delphi 11 automatically deals with the awkward sizing issues that come with that, but he was stuck on Delphi 10.3 manually updating every component (trying to anyway, the documentation is SO poor for it)! I called him when I read this with the good news, and he sounded quite excited by the prospect of not needing to do that anymore!
I'm using C++ Builder in my day job and the documentation is sparse, with very few examples and most recent books are from the early 2000's.
Microsoft still hasn't managed to offer anything similar for C++ (other than the shortly lived C++/CX) in 25 years.
Although I do agree the documentation is awful, specially when compared with the old Borland printed manuals.
So I guess the phone number is there so they can threaten you into buying a license.
The dev environment and GUI builder are really nice for building desktop windows apps, 2002-style. But the world has moved on just a little from that.
You’re also never going to get modern software engineering tools for it. To consider just the flavour of the month, GitHub Copilot is never going to be much use in Delphi.
seems a bit low
I won a Sencha Mobile contest once, an eternity ago, and the website was hosted on the designers server (I met him on the sencha forums). We had a cron script to scrape twitter, and that cron job is still running and sending me emails, and I haven't been able to get a hold of him since.
It's been sending me emails every 60 seconds for a decade with no way to for me to turn it off.
Chris if you're reading this, please clear the cron job on blackspade.
Depending on the DBMS you use there are open source components or you could license UniDAC starting from $300.
C# copied most of the good stuff from Delphi (and, unlike C++, didn't retain the minefield that is C) and since then has gotten almost everything Delphi had. The only thing that comes to mind that C# doesn't have arrays that aren't zero-based. (Delphi supports arrays with arbitrary bounds and supports arrays based on an enum. In C# I'm always casting enums to ints to use them.) Why would I look back??
On the AOT front, .NET 8 still won't be able to cover all .NET workloads.
I think I left around C++ Builder 6 or 7 for the painfully slow performing world of .Net
Builder 7 was getting there too :)
c++ sure, but Pascal? rust is being actively integrated into the linux kernel and windows libraries. Thats not even including surrealdb or any of the other crypto projects out there.
OFFS.
which means that you cannot use "Client-Server" databases (Mysql, Postgres, etc.), only localhost access is supported.
you can use ZeosLib etc. but its just one more hurdle to take.
Which is Pascal, isn't it?
To be fair, I did have a Pascal class in college. Never thought I'd see it again, but it paid off. Can't say the same for COBOL, once I left Andersen Consulting and its aerospace & defense clients.
The primary historic benefit of Delphi was the vastly superior IDE and UI layout engine (the VCL in general) to most other environments of the era, coupled with apparently very good integration with oracle DBs (where it gets its name)[2]. I'm not super convinced those arguments still apply today.
[1] Delphi has a few additional bits but mostly just support for the VCL, IDE, etc - in c compilers these would be attributes, whereas Delphi uses language level keywords.
[2] There's also compile time I guess, but .NET basically got MS to the same ballpark with C# and VB.net (the latter also making "real" apps in VB possible, though I think the general dismissal of VB < VB.net isn't super fair).
"The language was originally developed by Apple Computer":
Turbo Pascal had some "object" extensions in the last versions, but Delphi was Borland's fully formed object oriented successor to TP.
It has classes and interfaces (compatible with COM, but not reliant on COM), operator overloading, generics (mostly) and anonymous methods. Implemented a generic Y combinator in it for teh lulz years ago, for example.
It can get a bit verbose at times though, the language itself is verbose but the compiler isn't too clever with figuring out the types when it comes to generics, which reduces readability a lot.
A career in one line.