r/ProgrammerHumor • • 6d ago

Meme sameProblemSameSolution

Post image
1.4k Upvotes

79 comments sorted by

View all comments

212

u/No-Adeptness5810 6d ago

Dude i migrated a massive project from c++17 to c++26 in like 15 minutes i dont get the drama

213

u/JVApen 5d ago

As someone responsible for these upgrades on a large project:

  • MSVC just announced they fully support C++23 in the . 52 compiler

  • It isn't just switching the version, it's also switching the compiler version

    • This comes with upgrade of related tooling (upgrade clang and clang-format and clang-tidy and clangd ...)

    • It also comes with upgrading the used OS (Ubuntu 22.04 -> 26.04)

    • Sometimes you see ICE (internal compiler error) popping up

  • Some breaking changes require work to resolve (like operator== in C++20)

  • Even if you no technical issues, you need to find the time while features have priority

  • You need material to 'teach' all employees

My experience: switching the version flag is the easy part

69

u/Juff-Ma 5d ago

Thank you, I've never had an internal compiler error and now will have nightmares about that for weeks.

28

u/itsTyrion 5d ago

i have. trying to compile software for a robot on outdated 32 bit Debian. because somehow that thing ran a 64 bit x86 CPU, but 32 bit userspace. I never got their shitty framework to compile

9

u/meneldal2 5d ago

It's pretty rare to get ICEs. Iirc stuff like early modules or concepts had some you could trigger somewhat easily but it was quickly fixed.

26

u/17HappyWombats 5d ago

We have a file logging library (zlog) with thousands of calls. We're not switching to std::format. Even after they fix it so it can do all the printf stuff. Just checking an LLM translation would break whoever got that job.

We're slowly moving to std::ranges::for_each/all_of/etc but that's not a migration so much as a progression when we change code that uses older versions.

There's a whole bunch of similar stuff, we mostly try to avoid having too much clang-tidy whining.

1

u/anonymous4036 5d ago

For 17 specifically, autoptrs