In 2011, CodeGear released Delphi XE2 with a 64-bit compiler and somewhat working 64-bit debugger.
Delphi needs a 64-bit IDE. When?
Thirteen years later, 2024, and… Embarcadero is still shipping a 32-bit IDE. Delphi EXEs are fat, bloated, and perform poorly. GO EXEs, Rust EXEs, Clang-compiler EXEs run circles around Delphi.
C++ Builder needs new marketing
What amazes me is how C++ Builder is marketed. In order to use Delphi BPLs in C++ Builder, you need to purchase Rad Studio for interoperability with Delphi BPLs.
This has led to friction and akin to split-brain mentality - customers who use C++ Builder can use Delphi BPLs but not compile them, Delphi developers can use C++ Builder OBJ files but cannot compile C++ code without C++ Builder.
This leads to interesting vendors who sell pre-compiled OBJ files, such as Ralf’s Junk Shop, Winsoft's growing library of open-source ports to Delphi.
There is a cottage of developers specializing in porting Delphi code to C++ Builder. There is a need to combine both products, reduce price. Selling both C++ Builder and Delphi for the price of Delphi Pro, instead of RadStudio price, is something Embarcadero might not think of.
I’m dreaming of a White Clang-based Delphi compiler Christmas
The C++ Modern compiler performance is great. The newer changes in 12.2 fixes slow compile issues. Great. But… unless these changes are ported to the Delphi diaspora, what’s the point?
Delphi 12.2 fixes the slowness problem that plagued Delphi 12.1 update 1. Delphi 12.1 was so so, it made customers question Delphi’s poor performance and Delphi’s future.
On the C++ side, the Modern compiler is as fast as Java’s Graal VM, and competitive or better than Visual C++ or other Clang-based run-time performance.
The compile is much more buttery and faster than previous. If this could compile other UI frameworks (QT, Juce, IMGUI), this could be a new and emerging compiler option, rather than Visual C++ or Clang-based Windows-based compilers.
Why doesn’t Embarcadero port their Modern Clang changes to Borland C++ Modern compiler back to Delphi?
There’s a dream of “NextGen” Delphi for decades… Hopes fade…
C++ features I’d want
If this blog-writer is Delphi’s product manager, I would suggest for C++ Builder to use Mimalloc or a newer version of FastMM5, make C++ Builder CMake-compatible, maybe Conan too, so it can fight the invading hordes of C++ files without causing compile failures.
What tests does Embarcadero use to certify C++ 20 compliance? Can C++ builder compile POCO, Folly, Abseil … ? Which third-party UI framework does C++ Builder support? JUCE, QT?
Which memory-leak checker and what profiler works with C++ Builder Modern compiler? Did Embarcadero talk to certain third-party vendors to make a compliant memory-leak checker or profiler?
When will C++ Builder Modern compiler support iOS, Android or MacOS or Linux, or Linux/ARM?
64-bit Delphi IDE troubles
Internally, several former Embarcadero developers disclosed the Delphi IDE uses a legacy editor component - TX Text Control 32-bit used as the underlying code editor in Delphi, that they are trying to replace it.
A leak here, a leak there
Embarcadero should ship a special version of Delphi, which generates a memory-leak log file, and send it to Embarcadero (perhaps as encrypted files as it contain embarrassing details).
This would provide a stop-gap measure. Imagine dealing with a 64-bit memory leak. How much RAM is needed? 256GB RAM for the IDE?
A bug here, a bug there, but it never seems to be reproducible
They should provide better support to customers - one idea is providing encrypted VMs that customers can upload their files to and make compiles. This would provide a reproducible environment - allowing Embaracado engineers to quickly troubleshoot bugs, upload new Delphi EXE builds on those VMs and ask customers to test, without having to do lengthy installs or updates.
Another idea is, having town-halls in Germany, Netherlands, and maybe in Brazil, where customers can come, and Embarcadero engineers can later contact customers who have teething problems.
One wonders, what kind of FireDac Enterprise Connectors are provided, since CDATA has depreciated them?
Critical bug-fixes
They fixed a long-standing bug in Delphi 12.2 - inline variable usage. Delphi 10.2 introduced in-line variables, but if you have same-name variables, Delphi’s debugger gets confused and shows the previous variables and messes debug sessions. As usual - they need to upgrade to Delphi 10.3 Rio.
Will Delphi CE users get Delphi 12.2 on-time, or will they have to suffer a year to get Delphi 12.2 CE edition?
Ship TMS Web or UniGui, not WebStencils
Here’s another unpopular suggestion. Ship a decent web-based solution. Maybe TMS Web or UniGui.
I don’t know why Embarcadero could ship IntraWeb for years, while they can’t make a deal to ship TMS Web or UniGui?
What's even more odd is that Embarcadero owns Sencha. So why can’t they make a deal to ship a C++ Builder or Delphi-based Sencha solution?
The Sencha add-on in Delphi Architect does not have any integration with Delphi… strange and odd they recommend HTMLX integration instead of Sencha.
There’s something fishy or odd, or something they are not disclosing?
A new year, a new Delphi.
Follow-up article:
https://delphinightmares.substack.com/p/delphi-122-x64-compiler-integrated
Hi,
There will be a follow-up on several optimization suggestions. Thanks for feedback!