8 ms·
It's not immediately obvious from this page and GitHub org, but this is a Google led project. It's led by Chandler and the c++ toolchain team. I have no idea of
by vitno 4y ago
It's not immediately obvious from this page and GitHub org, but this is a Google led project. It's led by Chandler and the c++ toolchain team. I have no idea of it's endgoals or how open to non-Google ideas it will be.
- epage 4y ago> this is a Google led project This doesn't give me much confidence if its Corporate governance rather than open governance.
- vitno 4y agoThe governance of the project is not immediately clear to me, and I have to assume that the Google team is working in good faith. That team cares a lot about C++ and its future. They are obviously aware of this stigma. I also think that Google is pretty bad at open source governance though :/ Disclosure: Former Google engineer who worked sorta adjacent to some of those people.
- chandlerc1024 4y agoFWIW, our governance structure is here: https://github.com/carbon-language/carbon-lang/blob/trunk/docs/project/evolution.md#governance-structure https://github.com/carbon-language/carbon-lang/blob/trunk/do...
- vitno 4y agoHahaha, I really like the "painter" terminology. A+
- runevault 4y agoHuh looking at that page and saw Kate Gregory is involved. She's someone who, as a mostly outsider who dabbles in C++ occasionally, seemed incredibly dedicated to seeing C++ thrive and people come to understand the language. Her involvement here seems like a huge positive to me, but maybe that's coming from a place of ignorance.
- dleslie 4y agoNor does it convey any confidence that Google will support it.
- DashAnimal 4y agoCan we not with this tired joke. Yes we're talking about the company with hundreds of chat apps, but we're also talking about the 100,000+ employee company that developed and support Golang, Dart and Flutter. But ignoring all this, the GitHub page is pretty clear: "Carbon is currently an experimental project." You shouldn't have confidence that it will be supported but they are pretty clear about it, they're trying to find the right fit.
- dleslie 4y agoI wasn't joking. But yes, I agree, we should have no expectation of support for experimental or beta products.
- thesuperbigfrog 4y ago>> Can we not with this tired joke. . . . You shouldn't have confidence that it will be supported . . . It is not a joke. It is a reputation that Google has earned through its actions and inactions. As shown by https://killedbygoogle.com/ https://killedbygoogle.com/ and numerous desperate posts for help [1][2][3] on this and other web sites, Google's "must launch a new shiny thing" promotion culture and abysmal customer service have eroded public trust in the long-term viability of anything that Google creates. [1] https://news.ycombinator.com/item?id=5523992 https://news.ycombinator.com/item?id=5523992 [2] https://news.ycombinator.com/item?id=13145927 https://news.ycombinator.com/item?id=13145927 [3] https://news.ycombinator.com/item?id=31837795 https://news.ycombinator.com/item?id=31837795
- TJSomething 4y agoThe only comparable thing to an open source programming language on that list is AngularJS, and I wouldn't say that was killed but superceded by Angular 2 (which is also a lot better).
- foonathan 4y agoBased on what they've told me the long term governance plan is to establish an independent foundation, with development controlled by three equal lead developers from different companies. It may have been started by mostly Googlers but they want other companies and individuals to participate
- vitno 4y agoOfficial governance vs the effective governance is the real crux of this issue. Immediately starting from the lead developers separated by companies already puts a deep corporate interest spin on the project. Choosing to do a lot of the initial work in secret and then disclosing is also a pretty big data point. I think this is going to be an uphill battle for them and I hope they win it but I'll be skeptical unless if I start seeing radical (for google) transparency basically immediately. Also worth pointing out that the language is not immediately worthless even if they fail or only partially succeed in this endeavor!!
- ovao 4y agoThis is an odd line to take considering the language spec is unfinished and there’s no implementation. Anything less than or earlier than this phase of initial work would be akin to “let’s make a new C++; anyone have ideas?” Also, for what it’s worth: despite being an ISO-standard language, C++ is still heavily swayed by corporate interests, with most committee members being tied to BigCos. This has the effect of somewhat-necessarily aligning language progress with its most significant users. Without this alignment, the language might be “better” in some respects, but less useful.
- rvz 4y agoSo you had no problem with Golang being led by Google for more than 10 years and now this new language is somehow a problem because that one is also led by Google?
- epage 4y agoThis is assuming a lot about me when in fact - I don't use golang - As an outsider, the governance has seemed unhealthy like with how dependency management was dropped out of no where However, it has been relatively successful. Dart's success has been more mixed. I am also looking more broadly at projects like Bazel.
- chakkepolja 4y agoGo is governed very well for all practical purposes. If you disagree with their opinions on language design (I do, too) that's another thing.
- zozbot234 4y agoSounds a bit like "C++ but we get to change the ABI, and maybe break some old code for the sake of better-enforced safety guidelines".
- klodolph 4y agoC++ also has a very hard-line "you don't pay for what you don't use" philosophy, which sometimes lead to standard library APIs or language semantics which are a bit tortured. Compare C++ <random> or <chrono> against, say, the equivalent functionality in Rust, Go, Java, C#, etc. C++'s APIs are a bit overcomplicated, or at least they look that way if you don't know the various reasons why the C++ standard defined them that way (reasons which are probably not relevant to your use cases).
- lenkite 4y ago"C++ also has a very hard-line "you don't pay for what you don't use" This always felt eye-rolling false to me. We can't have a better hashmap since we all need to pay for the std::unordered_map's un-needed features like bucket access. We are certainly paying for what we don't use.
- pjmlp 4y ago"You don't pay for what you don't use" means the compiler doesn't generate worse code than if you had written the same by hand. Every other adoption of the meaning is misuse of what Bjarne originally meant with it.
- bterrier 4y ago"You don't pay for what you don't use" does not mean "the compiler doesn't generate worse code than if you had written the same by hand". These 2 things are C++ core principle, but they are 2 different things. "You don't pay for what you don't use" means that I you do not use a C++ feature, your runtime performance won't be affected by this feature. For example, non virtual functions are not slower because virtual functions exist. In our case here, if you do not use "std::unordered_map" and decide to implement your own unordered map, then it is as-if "std::unordered_map" never existed. You are not forced to use "std::unordered_map" and you own map won't be slower because it exists. "the compiler doesn't generate worse code than if you had written the same by hand", or rather "What you do use, you couldn’t hand code any better", means that if you decided to implement a C++ feature by hand in C++ or C, your implementation could only hope to match C++ implementation. For instance calling a virtual function in C++ will never be slower than a similar handwritten late dispatch implementation.
- pif 4y agoNo good can result from the interaction between the most complex and powerful programming language and the corporation who created the programming language for dummies.
- endtime 4y agoThey also created Dart, which is a joy to write.
- chakkepolja 4y agoA corporation is not a monolith.
- brandmeyer 4y ago> A key example of this is the committee's struggle to converge on a clear set of high-level and long-term goals and priorities aligned with ours [https://wg21.link/p2137 https://wg21.link/p2137]. I was frankly shocked by that goals and priorities document. The non-goals section reads like an open declaration of war against anyone whose use cases for C++ differ from GOOG and NVDA. My interpretation of Carbon is that since GOOG failed to take over the standard in favor of its narrow use cases, that they are building a new language optimized specifically for them. > I have no idea ... how open to non-Google ideas it will be. The most-generous attitude to take is that it will be managed similarly to Go. If your use cases and priorities are well-aligned with theirs, then feel free to use it. But while they may listen to third-party feedback, it will be their own use cases and opinions which dominate the language's development.
- throw827474737 4y ago> GOOG and NVDA Why use these stock index abbrevs (or whatever they are) in this context here? GEEZ! To the topic, it sounds a bit grumpy. If we look at languages and how many evolve... many suffer the phenomenon that they almost all are Turing complete, and try to gain concise (or simple understandable) expressiveness somehow, and then they try to not break compatibility too much to varying degrees - net result: they grow and grow where at one point they feel like too big, too much legacy dragged around (C++), the "one obvious way" lost (Python) when they cater for use case after use case. Limiting can be good in that regard. So having key goals defined and not to cater to every small new usecase by someone is a valid attempt to not let this happen, so while I dislike Googles power, I wouldn't feel to bad with attempting this by anyone on their fresh language?!
- twoodfin 4y agoThe primary goal is clear from the P2137 document: Performance. There are optimizations both in the standard library and the language that the C++ committee will either adopt too slowly for Google’s needs or not at all.