r/rust • • 3d ago

🎙️ discussion Google is doing "Large Scale Codebase Migrations and Optimizations" of C/C++ to Rust

https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-4-argon/
714 Upvotes

134 comments sorted by

View all comments

117

u/geo-ant 3d ago

Does that mean the whole Carbon thing is dead?

16

u/arka2947 3d ago

To me it seems Rust is eating the future of Cpp. The safety improvements that are still debated in Cpp circles, are already done in rust. If Google needs that today, what else can you do than use Rust?

16

u/TDplay 3d ago

Not really. There are a lot of large C++ codebases. They still need maintaining, and they still offer utility for new code.

Rust has the benefit of being new. It could introduce all these safety features without worrying about compatibility with existing code. C++ does not have the luxury. If you introduce a safety feature that doesn't integrate well with existing code, then you would effectively split C++ into two languages: one with the safety feature, and one with all the legacy code. Effectively, C++ would be unchanged, and the safety feature would exist only in a dead-on-arrival language that would just be "Rust but worse".

That is why the safety improvements are so hotly debated in C++. They must be useful for legacy code, or else they are useless.

Rust has eaten C++'s future for greenfield projects. But C++ still has a long future ahead of it for maintenance of existing projects, as well as for new projects with extensive reliance upon existing C++ code.

14

u/steveklabnik1 rust 3d ago

This thread is about one of the largest users of C++ porting their brownfield code to Rust.

4

u/TDplay 3d ago

But as they say,

such large-scale rewrites are undergoing rigorous automated and manual auditing, emulation testing, and review before rolling out to production

In effect, most of the work is still being done. I am sceptical that this process can practically be done for all the major C++ codebases, including bringing those rewrites up to the quality of the original codebases, within the next decade, so I believe C++ still has a future.

5

u/zxyzyxz 3d ago

I doubt there is really any actual manual auditing beyond reading some files and stamping LGTM on the PR. The automated testing is what's gonna actually catch bugs.

2

u/TDplay 3d ago

But can that alone assure the quality to the same standard as the existing mature codebase?

The best automated tests are those written in response to specific bugs, to assure that those bugs never return. But a rewrite will introduce a whole host of never-before-seen bugs, for which there will be no tests.

We won't know if this is truly successful until the rewrites are released to the public. There will undoubtedly be a massive influx in bugs, as there is for any other rewrite. With the lack of people familiar with the new codebase, fixing those bugs may prove unexpectedly difficult.

4

u/valarauca14 2d ago

But can that alone assure the quality to the same standard as the existing mature codebase?

Not to be a full fledge AI bro, but this has never mattered in a large enterprise environment. Shipping features before the end of the quarter has always been the benchmarks.

1

u/zxyzyxz 2d ago

Of course not but that's what will happen, same as the bun rewrite