CppCon 2018:H. Wright “Large-Scale Changes at Google: Lessons Learned From 5 Yrs of Mass Migrations”

CppCon · 15K views · 2018 · 1:00:16

Open on YouTube

Software practice, open source & careersC, C++, Rust, Go & systems languagestalk

Why Hacker News recommends it

HN points to it in monorepo and refactoring discussions as a great account of large-scale changes at Google.

What it is

Hyrum Wright shares lessons from five years of mass code migrations in Google's huge C++ codebase. He covers why to migrate, how hard it really is, and how Google updates core libraries and their users continually.

Recommended by 2 HN commenters across 2 different months, 2019 to 2024.

What Hacker News said

Recommends svat · 2019-01 · on “Monorepos: Please don’t”

See Hyrum Wright's talks on Large-Scale Changes at Google: [LINK] (CppCon2014), [this video] (CppCon 2018), and paper by Googlers on ClangMR ( [LINK] ). It's great! And if you'd like to learn more about how monorepos work in practice there's a couple of papers: [LINK] and [LINK] (Also worth reading: [LINK] )

Recommends ted_dunning · 2024-11 · on “Monorepo – Our Experience”

Coupling happens due to other reasons than poor contracts. The discussions from Hyrum Wright from Google about large-scale refactoring are great in this respect. [this video]

Cites joshuamorton · 2021-05 · on “Rf: an experimental refactoring tool for Go”

> Refactors are rarely as simple as moving a few file names or symbols around, at least where I work. While we do have some automation to help (and not break existing consumers), it’s significantly more involved in an SOA architecture for tier1 services. These sorts of big refactors also generally come with data model changes, performance profiling etc. This tool seems fantastic for parts of that, but not all of it. Yes, I'd refer to that as a migration, which absolutely is a lot of effort, but a tool like this isn't going to be particularly helpful with a migration precisely because the majority of the effort with such a migration will be like...doing all the data stuff and traffic stuff. C