4 ms·
I haven't touched C++ Builder since mid 2000's. Does it still rely on the VCL? That was always the criticism I heard at the time. The VCL was written in Pascal
by memsom 2y ago
I haven't touched C++ Builder since mid 2000's. Does it still rely on the VCL? That was always the criticism I heard at the time. The VCL was written in Pascal and no C++ developer liked that it was not C++. It constantly got flack for it. The VCL was good at the time, but Pascal is more akin to C# in the way it does inheritance, so no multiple inheritance was able to be done with VCL components IIRC.
- pjmlp 2y agoYes and no, VCL is around, although it has been replaced by FireMonkey. Multiple inheritance in C++ is a can of worms, unless you're prepared to deal with the related issues of virtual base classes, and diamond inheritance. That is why after C++ all the languages that support multiple inheritance do so only at the interface level and not implementation code, or rather go with a mix-ins approach. And in regards to Microsoft world, well the same developers that weren't happy with VCL and Pascal, and in for a treat given that the only modern way to do native Windows UIs in Microsoft world is via .NET consuming DLLs/COM/WinRT, unless they want to either stick with MFC, or the outdated tooling in C++/WinRT.
- memsom 2y agoYeah, the VCL was the first UI framework I used. With regards to multiple inheritance, this was the C++ Builder criticism, not mine. That and the extra macros needed to support the VCL. I was a Delphi guy, so I appreciated that the Object Pascal version of using the VCL was cleaner to use than the C++ interface. We no longer use C++ for UI. Any native code is wrapped up in to P/Invokes. I think all of our MFC apps are EOL now. Everything is WPF or Maui for cross platform.