3 ms·
The "slow" isn't the performance of the application, but rather the ability to make changes to the language. As it is, Google can't make changes to C++ that it
by shagie 4y ago
The "slow" isn't the performance of the application, but rather the ability to make changes to the language.
As it is, Google can't make changes to C++ that it wants in a timely manner (if at all). Having a C++g edition where there are slight changes to the language for the Google flavor rather than the latest standard makes things even worse.
From Google's perspective, the same can be said of Rust.
What Google does see is Swift where there are significant evolutionary changes to the language over the time.
So, Google has created their own language to fit into a similar space as C++ and allows them to make changes to the language at a much more rapid pace than the C++ standards committee would have.
My crystal ball says "this language will diverge further and further from where it started as Google changes it to solve Google Problems."
This shouldn't be a "Oh! Neat! Everyone start coding in Carbon - it's the next C++!" Yes, it's interesting in that there are some interesting ideas in it and refinement of ideas that aren't practical elsewhere. However, this is a language created to solve Google's problems - not the world's.
- pipeline_peak 4y agoI meant slow as in the time it takes for the committees approval. What exactly does this language solve in Google’s problem domain that can’t be enforced through guidelines?
- shagie 4y agoRather than enforcing the style guide ( https://google.github.io/styleguide/cppguide.html https://google.github.io/styleguide/cppguide.html ) through code reviews and code review tools, the language itself encourages the developer to write better code than they would have if writing C++. The Google C++ style guide is longer than the Carbon language design (though I will note a large number of sections that are "TODO"). (working from guesswork here) Given the codebase that Google currently has in C++, the amount of effort to continue enforcing those style guides through human "this needs to change before I can approve it" to (in Google's eyes) more reasonable code with Carbon ultimately results in less developer time being spent reviewing style guide issues. At that scale, this may become a significant savings even when taking into account creating a new language.
- pipeline_peak 4y agoIt’s likely smaller than the style guide because it was just introduced. Either way that’s such a loose comparison. I’m aware a language that enforces better coding styles is more efficient, I’m asking how and why does Carbon do this.
- shagie 4y agoIt has been a long time since I did work in C++, and I recall a number of foot-guns in the language. Reading the design document for Carbon and looking at the samples, it appears that many of these are not as easy to access. Things such as "not using the preprocessor for meta programming" by itself is a significant advantage.