• Narwhalrus@lemmy.world
    link
    fedilink
    arrow-up
    26
    ·
    5 months ago

    Typically, I can read an “average” open source programmers code. One of the issues I have with C++ is the standard library source seems to be completely incomprehensible.

    I recently started learning rust, and the idea of being able to look at the standard library source to understand something without having to travel through 10 layers of abstraction was incredible to me.

    • magic_lobster_party@kbin.run
      link
      fedilink
      arrow-up
      5
      ·
      5 months ago

      I wonder what went into their minds when they decided on coding conventions for C++ standard library. Like, what’s up with that weird ass indentation scheme?

    • barsoap@lemm.ee
      link
      fedilink
      arrow-up
      5
      ·
      5 months ago

      One of the issues I have with C++ is the standard library source seems to be completely incomprehensible.

      AAAAAAhhh I once read a Stroustrup quote essentially going “if you understand vectors you understand C++”, thought about that for a second, coming to the conclusion “surely he didn’t mean using them, but implementing them”, then had a quick google, people said llvm’s libc++ was clean, had a look, and noped out of that abomination instantly. For comparison, Rust’s vectors. About the same LOC, yes, but the Rust is like 80% docs and comments.

      • uis@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        5 months ago

        I think some of those abominational constructs were for compile-time errors. Inline visibility macro is for reducing bynary size, allowing additional optimizations and improving performance and load time.

        In my projects I set default visibility to hidden.