Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

(one of the Carbon leads)

Success for the Carbon Language requires it to successfully be an independent and community driven project. We may not succeed (this really is an experiment), but we're working hard to engage broadly and early in large part because of this being such an important goal and priority for us.

Projects like this have to start somewhere, but can grow and become community endeavors. We are also already seeing strong interest from other companies and organizations in participating in this experiment.



The README doesn't expand on what is probably the most challenging problem: how do you achieve effortless C++ interop without burdening Carbon with all the odd behaviour and memory safety / UB issues prevalent in C++?

In Rust for example, `unsafe {}` blocks are not just "local unsafety". They can freely operate on all memory, so they are infectious and are essentially a marker for "dangerous code below, be extra careful and audit lots".

But if all code can freely interoperate with C++, how do you improve upon C++, apart from relatively isolated features like a better generics system?

To what extend can a Carbon compiler that is deeply aware of C++ semantics mitigate the pitfalls?


C++ has many many issues other than memory safety. For example implicit type conversion, template duck typing, the include system, the very very very complicated name lookup system, a gazillion footguns inherited from C.

You can definitely massively improve upon C++ without touching its actual computation model.


Starting by using a sane set of compiler flags to make code safer by default.


Tangent. Absolutely loved your CPPCON talks. Thanks.


while we have you here, may I ask why is it called Carbon? It is because the symbol for atomic carbon is C ? :)


To make it as hard to search for solutions online as it is for "go".


Shouldn't be a problem if they're both created by a search engine company.


What's a good name?

Power C++ Syntax Plus Edition

C&₹π÷×√


Will Carbon natively support exceptions or is it solely going the Rust `Result<T, E>` route ?


This suggest that Carbon itself won't support exceptions: https://github.com/carbon-language/carbon-lang/blob/trunk/do...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: