Is it time for a successor to the stalwart C++ language? A group of developers at Google and other organizations believe it is.The group is behind an experimental language called Carbon, which offers interoperability with C++ while overcoming purported difficulties in improving the legacy language. Carbon attempts to overcome these obstacles by starting over with solid language foundations such as modern generics, a simple syntax, and modular code organization while avoiding the “decades of technical debt” of C or C++.However, they emphasize that Carbon is not ready for use.The developers of Carbon acknowledge that C++ remains the dominant programming language for building performance-critical software and has massive and growing code bases and investments. Carbon presents a successor approach rather than an evolution and is intended to enable migration for existing C++ code bases and C++ developers.Carbon was the subject of a presentation last week at the CppNorth conference in Toronto. Resources for Carbon can be accessed from the project’s GitHub repo. Project developers list the following requirements for a C++ successor, stressing that their approach can be built on top of the C++ ecosystem:
Matching C++ in performance
Seamless, bidirectional interoperability with C++
A gentle learning curve
Comparable expressivity
Scalable migration
Carbon is intended to be as analogous to C++ as TypeScript is to JavaScript and Kotlin is to Java. The designers intend for Carbon to support performance-critical software, software and language evolution, and have code that is safe and easy to read and write. Practical safety and testing mechanisms and fast and scalable development also are goals. Explicit non-goals include having a stable ABI (application binary interface) for the entire language and library and perfect backward or forward compatibility. At present, there is no working Carbon compiler or toolchain but developers can examine a demo interpreter for the language. Developers can participate in a design discussion forum on GitHub. An open source project structure, governance model, and evolution process also are core aspects of Carbon.
Copyright © 2022 IDG Communications, Inc.
Source link