Skip to content
DevMeme
4855 of 7590
Languages Post #5316 · source on Telegram

The Barbenheimer Experience of C++ Development

Description

This is a two-panel meme based on the 'Barbenheimer' cultural trend. The left panel features a vibrant, cheerful image of Margot Robbie as Barbie, with the text 'Writing C++' overlaid. The right panel shows a stark, black-and-white, serious photo of Cillian Murphy as J. Robert Oppenheimer, with the text 'Installing C++ libraries'. The meme humorously contrasts the perceived joy and creativity of writing C++ code with the notoriously difficult and frustrating experience of managing C++ dependencies. For senior developers, this is a deeply relatable joke. While writing C++ can be a rewarding challenge, the ecosystem's lack of a standardized package manager and the common struggles with compilers, linkers, and platform-specific build configurations make setting up a project an arduous, somber task, perfectly captured by the grim tone of the Oppenheimer image

Comments

49
Anonymous ★ Top Pick The time it takes to successfully link a new C++ library is directly proportional to the number of compiler flags you don't understand
  1. Anonymous ★ Top Pick

    The time it takes to successfully link a new C++ library is directly proportional to the number of compiler flags you don't understand

  2. Anonymous

    Writing C++ is neon-lit constexpr glamour; linking is trench-coat noir, chain-smoking through nm output to figure out which decade-old libstdc++ just mugged your symbols

  3. Anonymous

    "The only thing more fragmented than our microservices architecture is the C++ ecosystem where every library has its own build system, and half of them are just forks arguing about whether to use CMake 2.8 or 3.0."

  4. Anonymous

    The duality of C++ development: writing elegant, performant code feels like a summer blockbuster, but the moment you need to integrate a third-party library, you're suddenly dealing with the moral complexity of nuclear physics. CMake doesn't just build projects - it tests your resolve, your patience, and occasionally your will to live. Senior engineers know the real skill isn't template metaprogramming; it's successfully linking against Boost on three different platforms without questioning your career choices

  5. Anonymous

    Oppenheimer split the atom; C++ devs split hairs over transitive deps just to link a library

  6. Anonymous

    Writing CSS is choosing a hex code; linking C++ libraries is Cold War diplomacy with ABIs - one “undefined reference” and your build becomes a Trinity test

  7. Anonymous

    Every C++ sprint starts pink at compile time, then link time shows up with ODR violations, libstdc++/libc++ ABI drift, and a forgotten target_link_libraries, triggering an undefined_reference chain reaction

  8. @ilovethicktights 3y

    reverse?

  9. @LycanAnanas 3y

    apt install? lol apt is just npm for C++ and C

    1. @negezor 3y

      What about non-debian based distributions?)

      1. @LycanAnanas 3y

        rpm and for windows pacman (msys2)

      2. @async_andrew 3y

        arch linux has even better package system, especially with aur

        1. @LycanAnanas 3y

          msys uses same package manager as arch

          1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

            Disclaimer I am not a linux user, but can’t you like have multiple package managers? Or like choose any on any distribution? Or is that not standardized yet?

            1. Deleted Account 3y

              Yes, but actually no. If you want to, you can build any package manager from source and specify right prefix directories for your distribution. BUT the coexistence of two package managers is a nightmare. Imagine installing firefox 86 using apt, then trying to update with yum, you update for example to 95. And then you decide to remove it using apt. Files are not the same, libraries names too. And trying to solve this you will come to installing new system from the ground zero. Yet there are some solutions (flatpak, snap), which allow parallel use with system package manager, and allow installing applications, but only applications, not system dependencies.

              1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

                Cool thanks for the explanation

            2. Deleted Account 3y

              with distrobox, it's much easier to install packages from different package managers and distros

              1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

                Cool so all a package manager is responsible for is to place the install files into the distro’app folder?

                1. Deleted Account 3y

                  even more, somehow it's possible to choose a different distro on login screen

                  1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

                    Ohhh right back track r5 had that I think

            3. @RiedleroD 3y

              technically you can, but they interfere. distros usually have a default pm that you shouldn't deviate from.

              1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

                But are you all sure it’s impossible to combine all?

                1. @RiedleroD 3y

                  impossible? no. it's also not impossible to cut your leg off with a butter knife

                  1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

                    Good

            4. @ColonelPhantom 3y

              Usually your distribution has a package manager and that's the one you use Debian/Ubuntu/Mint have dpkg/apt Fedora/Red Hat have rpm/dnf Arch/Manjaro etc have pacman

              1. @RiedleroD 3y

                debian/bad debian/green debian

              2. @RiedleroD 3y

                arch/bad arch

            5. @CcxCZ 3y

              You can have what's called overlay package manager that installs into separate directories. Most popular ones are: pkgsrc, nix, guix, gentoo-prefix Also that's the way package managers generally work on *BSD and OSX because those systems ship core of the system as a single unit.

        2. @negezor 3y

          Btw, I use arch ☺️

        3. @RiedleroD 3y

          not really. the AUR has advantages, but so does apt. neither is better than the other one imo.

          1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

            Can I make my own without any understanding of the LUNIX file structure? /s

  10. @LycanAnanas 3y

    apt and rpm

  11. @LycanAnanas 3y

    always you can build them as submodules/subprojects and ship it with app

  12. @LycanAnanas 3y

    anypackage manager will work even brew

    1. @negezor 3y

      Very human

  13. @LycanAnanas 3y

    always just build them as subprojects. Just write good make/cmake file

  14. @LycanAnanas 3y

    npm is not human too

  15. @LycanAnanas 3y

    20gb of dependencies for one project

    1. @negezor 3y

      The last time I looked, there was 100mb in a big project. Most of it was typescript 🤔

  16. @paul_thunder 3y

    Dependencies issues?

  17. Deleted Account 3y

    https://m.youtube.com/watch?v=Sj064D9ZUl8

  18. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

    Sorry I only used linux when I was 18 or so. I always had weird hardware so it was a nightmare with drivers and compatibility… never daily drove any. And also basically almost never touched the terminal. I would need to take a look at arch because thats in rn /s

    1. Deleted Account 3y

      i still have issues with network drivers, honestly i gave up on linux desktop, rn I'm using nobara and it's fine

      1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

        I think Microsoft will decrease my social credit score if I boot linux on the surface book 3

        1. @NevermindExpress 3y

          well i boot windows on mac

          1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

            Well duh every sain man does💀😂

  19. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

    The one who installed is responsible for it

  20. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

    💀💀💀😂😂😂

  21. @Vlasoov 3y

    So true

Use J and K for navigation