Technology
Google’s Carbon Language is too new and specifications insufficient: Bjarne Stroustrup
Google engineer Chandler Carruth previously announced at the CppNorth conference the Carbon programming language, which has been open-sourced on GitHub, and called it an experimental successor to C++.
Recently, sources devclass asked Bjarne Stroustrup, the father of C++, what he thinks of Google Carbon, and the response was: There are always new languages trying to be the successor to C++. I welcome experimentation with programming languages and programming styles, but I don’t want to spark controversy.
JOIN TIP3X ON TELEGRAM
It’s easy to criticize established languages because we know their problems, but it’s often difficult to provide alternatives without creating entirely new problems with language rules, libraries, and management. Carbon is so new and underspecified that I can’t really make a meaningful technical review.
According to Carbon’s GitHub repository page, Carbon is fundamentally a successor language approach rather than an attempt to evolve C++ incrementally. It’s designed around interoperability with C++, and mass adoption and migration of existing C++ codebases and developers, Google likens Carbon to TypeScript, Kotlin, which are enhancements to JavaScript and Java.
Google engineer Carruth doesn’t see Carbon as a C++ competitor. Asked at C++ North how Carbon will compete with future improvements to C++, he said: ” Our goal is not to compete, but to explore things that can’t be done with C++ .”
Additionally, when asked why Carbon didn’t build memory safety from the start, Carruth explained: “Unfortunately, C++ is very unsafe, so we started with a fairly low standard. The project prioritizes migration over safety But the purpose is to improve memory safety later.
In the long run, we want to be at least as safe as Go or Swift.” Carruth went on to talk about Rust, saying that Rust comes from the other end, which is to take precedence over memory safety, but it may never achieve sufficient interoperability with C++ for a smooth migration.