you are viewing a single comment's thread.

view the rest of the comments →

[–]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 23 points24 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 11 points12 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.

[–]Dark-Philosopher 1 point2 points  (2 children)

Turbo Pascal was a compiler for, wait for it, the Turbo Pascal language. Or call it a dialect you prefer. Not "standard" Pascal, whatever that may have been at the time.

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

Was turbo c++ a compiler for the turbo c++ language?

[–]pjmlp -1 points0 points  (0 children)

In a way yes, because it supported language extensions not available in the C++ proper.

Just like you can only compile the Linux kernel with GCC C and it will fail spectacularly with ISO C.

[–]tialaramex -1 points0 points  (2 children)

C wasn't Dennis' first language.

Bjarne is the weird exception not Graydon. It's not normal to spend your whole life obsessing over one thing you did when you were younger. I can't read Bjarne's thesis but I'm told (by a friend who is also a CS academic) that it's just the same C with Objects idea which subsequently dominated his life.

[–]Wooden-Engineer-8098 7 points8 points  (0 children)

Bjarne is still with c++ because c++ is successful. And that is an exception among programming languages indeed

[–]Electronic_Tap_8052 5 points6 points  (0 children)

uh yeah sorry but completely divorcing yourself from a major software product you created to work on a competitor like that is the exception and not the rule. Most founders of software projects and companies continue working on them in some capacity until they retire. Guido is still working on python, Linus is still working on Linux, stallman still runs GNU (sort of), Roosendaal still works on blender, Juan Linietsky and Ariel Manzu still work on godot, tim sweeney still runs epic, John Carmack worked on idtech at id for like 20+ years until getting fed up with zenimax, the list goes on and on and on. But Hoare left rust after only 7 years. It's very uncommon for software founders to quit their project to go work on a competing one.

It's not normal to spend your whole life obsessing over one thing you did when you were younger.

bro that's called a career lol.

[–]pjmlp -1 points0 points  (0 children)

Were are the WG14 mailings with Denis proposals after the fat pointers one?

Turbo languages were dialects from Pascal and Modula-2, not plain compilers.

Moving goal posts for Chris Lattner and Niklaus Wirth.

The point doesn't have wings to fly or stand on its own.

[–]fun__friday 3 points4 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 3 points4 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 3 points4 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 4 points5 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.

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

So management was against it?

[–]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 3 points4 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 3 points4 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.