Reading through this post on Carbon vs Rust
Rust is definitely a well established language as a potential successor to C++. But then Carbon language is announced with a goal to become a successor to C++.
Going through some of the basics of Carbon, syntax wise it feels similar to Rust but Carbon has different goals compared to C++ in terms of interop.
If any one else has tried Carbon,
Do you think Carbon language will fully replace C++ in the future if all things go as planned ?
Top comments (12)
I won't be surprised if Google kills it in a year. And I doubt C++ will be replaced by ANY language. Rust and Zig might cut a piece of the cake from C++, but won't replace it fully.
Got it. Thanks for the insights
Reading other comments I'll approach this question from a different point of view
Let's imagine that we actually want to replace C++ with Carbon and see what we'd need to reach that target.
Google and Microsoft are major users of and contributors of C++, which is used mainly to develop Operating Systems (partially), Browsers, Games, embedded systems and critical building blocks of large systems. It also can be used for -partial- Android App Development using the Android NDK and much more.
Hence we'll need to re-build from scratch tones of tools in Carbon first; From Unreal Engine to Google Chrome or MS Edge, also provide enough frameworks, libs and tools to cover the enormous ecosystem that has been built around C++ all those years.
Then we just need to convince everyone (an absolute majority will suffice) using C++ that learning Carbon is a good choice and that they should ditch apart the experience they already have in C++'s core API to use something new which is -allegedly- better.
TL;DR: That's -most probably- not gonna happen, but we'll see how it evolves. I honestly think that even Google isn't replacing C++ for Carbon in it's systems, at least for a long time.
Certainly true and thanks for the detailed answer. Not supporting yes or no but am just curious - If major companies start adapting Carbon convincing to learn should not be a blocker right ?
I'm not familiar with Carbon. But despite that, this is an easy one to answer. No. Nothing will fully replace C++ in the future. There are at least 5 programming languages that I see remaining widely used indefinitely: C, C++, Java, JavaScript, and Python. I alphabetized them to avoid emphasizing any over the others. There might be others I'd add to this list if I thought about it more. These are also not my 5 favorite languages. For example, I dislike JavaScript but it isn't going anywhere in the foreseeable future. And C++ was once my preferred language, but anything I would have used it for in the past, today I'd turn to Java. But that is just me, I personally replaced C++ with something else, but C++ will continue to stick around.
Java won't be replaced by Kotlin or any other JVM language, unless the JDK maintainers decide to migrate the JVM to a KVM. This is unlikely. And even if that happened, there are a ton of widely used Java libraries and with full-interoperability of Java and Kotlin and some other JVM languages, such libraries will remain relevant.
C++ didn't replace C, and others that aimed to also did not. C is still widely used in embedded systems, and some other domains. And C is at the heart of some other widely used languages, such as Python (e.g. CPython).
As a faculty member, I often talk to recruiters from industry about what they are looking for from graduating students. Much of what they say is more often the soft-skills (e.g. communication), even more so than tech skills. But the 2 programming languages I hear most are Java and C++. Rarely both from the same company. But in most cases they are fine with the other of the 2 for entry level if the student is motivated to learn the other, and if their communications and team-work and other soft skills are strong.
Great insights. Thanks for detailed answer
C++ did not replace C, in the same way Carbon will not replace C++... and maybe Carbon will not even take off. We don't know
Let’s wait and see
No
Got it
I mean C++ will still widely be used regardless of how Carbon is gonna get used in the future. Like people still use Java when Kotlin is made to "replace" it.
Got it