A couple of months ago Embarcadero’s John Ray Thomas published a roadmap for the company’s C++ tools. Coming soon: not only a long-awaited 64-bit compiler for Windows, but also native iOS and Android support. On top of that, there are plans for “the very best in C++11 and C99 language and library compliance in the industry.”
Sounds good; but this forthcoming upgrade is not quite what it seems. I spoke to technical evangelist David Intersimone about the changes. The company is adopting Clang, an open source project which creates a C/C++/Objective C front-end for the LLVM compiler. “We’re integrating all that into our IDE,” said Intersimone. “We’re also going to be using that same toolchain world with our Delphi compiler as well.”
“We have analysed what to do about C++. Our compilers both for Delphi and C++ have been around for a lot of years, and over time it just got harder and harder to add new capabilities to make programming simpler and also to add power and richness to the languages. In C++ in particular the language continues to be updated, with now C++ 11. So we made the decision to use Clang and LLVM on the C++ side, for the 64-bit compiler. We’re going to keep our existing compiler for 32-bit Windows for now, and then eventually replace that.
“For Delphi we’re still using our existing compiler to do some of the work, but we’ve been working on a next-generation compiler for Delphi and that is still in the works. For a while we’ll have two compilers, the existing architecture compilers, and then new compilers.”
Embarcadero has its own C++ extensions to support component development, and is working on adding them to Clang. “We’re leveraging and extending the Clang compiler with the property-method-event extensions that we added to our own C++ compiler.”
It is a sad moment in some ways, bearing in mind the long history of what was once the Borland C++ compiler. Equally, it is a sensible move. Intersimone said that the work of keeping up with the evolving C++ specification was disproportionate to the benefits. “It’s a monster language, with a lot of power and a lot of complexity. It made perfect sense to fit our extensions [to Clang] versus building a compiler from scratch and having to continue to track the language into the future.”
Embarcadero can focus instead on its IDE and tools, and on the frameworks for Windows and for cross-platform.
Look out for a more detailed interview with David Intersimone in a future article for Hardcopy.
A little OT: I like the direction Embarcadero is taking C++Builder and Delphi… but their business model is terrible for the growth of Delphi the language.
I have hope though that JetBrains or someone naps Delphi and open sources the platform… and then makes money by selling cheap($100 or less a year) IDE liscences.
The JBuilder/c# builder demise didn’t teach them anything. If they believe they can survive just selling an IDE/framework they’re wrong (especially if that framework is Firemonkey). They’re just telling they no longer have the R&D to develop a compiler and must rely on someone’s else. And their products prices are high – and I guess they will remain the same even if the compiler is developed elsewhere “for free”. So you pay more for less. Not a good message to your customers.
Apple can do it because it’s not a “company for developers” and tools doesn’t cost $2500 per developer for an enterprise license. Embarcadero has a broken business model, yet they don’t understand.
Why not. It does not matter who develops the compiler. As long as it works.
Anyway – http://code.google.com/p/llvm-pascal/source/list
This sounds good. I think the future of cross platform programming is very thin wrappers around the native API. This is what makes the VCL (why anyone would use C++ Builder) nice. What C++ Builder has needed has been more conformant C++ and now it looks like we’ll get that. They need to focus on this approach and leave the FireMonkey business alone IMO.