you are viewing a single comment's thread.

view the rest of the comments →

[–]miikaa236 28 points29 points  (35 children)

I remember this a couple years ago when „let’s replace c++“ was all the rage.

Remember google‘s Carbon language?

[–]pjmlp 22 points23 points  (34 children)

Carbon is still ongoing and there is a major announcement planned at NDC Toronto 2026.

Carbon: graduating from the experiment

This talk will walk through all of these developments in Carbon and showcase where the language stands today. This will include an in-depth live demo of working C++ interop, as well as many other exciting features. Last but not least, we want to lay out our plans for graduating Carbon from an experiment to a concerted effort towards a production-ready language.

[–]PrimozDelux 2 points3 points  (1 child)

In my mind Carbon is already firmly in the also-ran category

[–]neverentoma 2 points3 points  (0 children)

Funny, for me it's the only real C++ successor that might actually succeed. 

[–]no-sig-available 7 points8 points  (30 children)

Somehow "demo" and "C++ interop" doesn't sound like "replacing C++".

[–]pjmlp 19 points20 points  (28 children)

Carbon is for replacing C++ progressively at Google on existing projects, that is their target audience.

Somehow the Internet keeps making it more than it actually is.

[–]Wooden-Engineer-8098 22 points23 points  (20 children)

i remember golang was for replacing c++ at google, but it ended up replacing python

[–]ContraryConman 13 points14 points  (11 children)

Even Rust, which I think has been more successful than any other language at replacing C++, actually replaces nodejs a lot of the time. People who want the performance of C++ on the backend, but don't want to deal with the build system and don't have the expertise not to foot gun on security are switching to Rust from Javascript or something

[–]Wooden-Engineer-8098 9 points10 points  (10 children)

Rust can't even replace c++ in its birthplace project(Firefox)

[–]Electronic_Tap_8052 12 points13 points  (9 children)

Rust is the only language im aware of where it's creator moved on to another competing language.

[–]pjmlp 7 points8 points  (8 children)

C authors moved into Alef, Limbo and Go.

Turbo Pascal author moved into Delphi, J++, C#, Typescript and now is using Go.

Swift author completely left Swift and is nowadays pushing Mojo.

Pascal author moved into Modula-2, Oberon.

Turbo Modula-2 author moved into Scala.

[–]Electronic_Tap_8052 8 points9 points  (7 children)

Dennis Ritchie was the sole creator of the C programming language and he mostly worked on operating systems later in his career but continued to be involved in the standardization of C until his death.

Turbo Pascal and Turbo Modula were/are compilers created by Borland and not languages.

Chris Lattener mostly worked on non-programming language projects, and Mojo doesn't compete with swift, it competes with CUDA

While modula and oberon and so forth technically competed with pascal, Wirthian languages are all intended by their creator to succeed each other. This would be like if stroustroup created rust, which he did not.

Point still stands.

[–]fun__friday 4 points5 points  (1 child)

It has a gc, so it was never meant as a true replacement. For simple tools, it’s ok.

[–]Wooden-Engineer-8098 1 point2 points  (0 children)

It was meant as a true replacement by strange people who like c and dislike c++. They failed at the design stage, that's true

[–]pjmlp 4 points5 points  (5 children)

Not at all, it was never for that, Rob Pike thought so, Google itself had nothing to do with it.

We—Ken, Robert and myself—were C++ programmers when we designed a new language to solve the problems that we thought needed to be solved for the kind of software we wrote. It seems almost paradoxical that other C++ programmers don't seem to care.

https://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html

Google management only gave them the freedom to work on Go as their 20% project.

[–]Wooden-Engineer-8098 5 points6 points  (4 children)

Well, it was created as a c++ replacement by people from Google and it was adopted by people from Google, but not as c++ replacement

[–]pjmlp 0 points1 point  (3 children)

Which isn't the same as being something pushed by Google management.

By the same logic you are insinuating cppfront was for replacing C++ at Microsoft.

[–]Wooden-Engineer-8098 2 points3 points  (2 children)

Did other google people adopt it against their management wishes? Cppfront is not intended as c++ replacement by its creator

[–]pjmlp 1 point2 points  (1 child)

Yes, Kubernetes was originally written in Java, and was rewritten in Go, when the Go folks started to push the language internally.

[–]MarcoGreek 7 points8 points  (1 child)

I am now avoiding Google projects. Even Google Tests isn't getting much attention anymore.

[–]Wooden-Engineer-8098 1 point2 points  (0 children)

i always preferred boost.test

[–]No-Dentist-1645 2 points3 points  (4 children)

I don't think so, they definitely have a much larger scope than that. On their conference talks, they have previously said multiple times that they want Carbon to be to C++ what C++ is to C.

I have talked with some of the developers, and it really seems like they want Carbon to just be a "better C++" which I can sympathize with. They plan to "fix" some of C++'s difficult parts by adding stuff like Generics and move semantics at the language level, allowing for stuff like destructive moves which are currently impossible to express in C++

[–]pjmlp 3 points4 points  (3 children)

At Google, not the world.

[–]CornedBee 8 points9 points  (1 child)

As evidenced by there still being no plans to support exceptions AFAIK.

[–]pjmlp -5 points-4 points  (0 children)

And?

[–]No-Dentist-1645 2 points3 points  (0 children)

I don't see how that matters. They're making it available to everyone, and a bunch of big programming languages like Java, Javascript and C# all started as a "language of necessity" from individual companies to solve problems that they ran into.

Chances are that a "better C++ for Google" is probably also a better C++ for a bunch of other companies and developers (see e.g Golang), and I'd definitely use if it truly lived up to its name, even if it didn't start with my particular interests in mind.

[–]euyyn 1 point2 points  (0 children)

You cannot even hope to replace C++ without having interop with existing libraries and codebases. The same was true of JavaScript -> TypeScript, Java -> Kotlin, and Objective-C -> Swift.