Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


Yes 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.


Yeah, 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: