To put C++’s growth in context:

Compared to all languages: There are now more C++ developers than the #1 language had just four years ago. Compared to Rust: Each of C++, Python, and Java just added about as many developers in one year as there are Rust total developers in the world.

Whoa. That are some carefully selected numbers. It is like saying that I am earning much better money than my 16-year-old nephew (who just finished school), and that, because my job is installing and servicing coal stoves and coal stoves are still used in large part of the country, the coal stove industry is in a totally healthy state.

Hmm. Sounds like C++ is losing ground to Rust - which is much younger - fast.

Especially considering that according to the Stack Overflow surveys, young programmers tend to get into C++, but experienced developers clearly prefer Rust.

Of course, C++ isn’t going to dissppear. It will continue to be used for a long time, especially in old, mature code bases. But the same is true for COBOL. And very few new projects use COBOL. In the same way as some scholars and archeologists need to know Latin, but very few publish research or write new books in Latin - even if it was the language of science just a couple hundred years ago.

  • squaresinger@lemmy.world
    link
    fedilink
    arrow-up
    23
    ·
    4 days ago

    I think it really depends. If you do embedded/microcontroller stuff, C/C++ is often the only alternative. That’s why I use C/C++ at least.

    But I think any serious programmer uses half a dozen languages on a daily basis anyway.

    • MagicShel@lemmy.zip
      link
      fedilink
      English
      arrow-up
      26
      ·
      4 days ago

      A half dozen daily? All I can say is your perspective strikes me as highly industry-dependent.

      • squaresinger@lemmy.world
        link
        fedilink
        arrow-up
        15
        ·
        4 days ago

        A FE dev usually has JS/TS, (S)CSS, bash (for tooling scripting), often some kind of templating language, sometimes a separate language for tests (e.g. Java/Python+Selenium).

        A BE dev stack that I’ve had at a few jobs so far: Java + Kotlin as the main dev languages, Groovy+Spock for tests, a templating language for emails, bash for tooling scripting, that abysmal templating language that helm charts use, SQL, Elastic, plus a few random single-purpose languages you need for some random tool in the stack.

        If you do full-stack, add both together. And then add languages you need for hobby work.

        On a regular day I easily hit half a dozen languages at least briefly. Maybe not as a junior dev, but after a few years in the industry, that’s not uncommon.

        Unless of course you are a C# or Swift dev, then it’s totally possible to stay within your singular language-specific bubble for your whole carreer.

        • ulterno@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 days ago

          I do C++. And mostly, there are 2 languages daily.

          • C++ with QML, when doing GUI
          • C++ with JSON for DB related stuff
          • XML for many other things
          • XML with CSS for UI, but here, the XML part is mostly offloaded to a GUI toool.
          • A few times, all 3 happen at the same time, but mostly it’s 2.

          Unless you are including CMake, qmake and Unix Makefiles of course, but that’s not an everyday thing either.

          • squaresinger@lemmy.world
            link
            fedilink
            arrow-up
            3
            ·
            2 days ago

            Tbh, I would classify everything you do regularly at work as your daily work.

            The point remains the same: You need to know all these languages. You cannot say “I’m just doing DB stuff today, so I can totally forget QML and relearn it tomorrow when I have a GUI ticket.”

            • ulterno@programming.dev
              link
              fedilink
              English
              arrow-up
              0
              ·
              1 day ago

              Well, I guess that’s one way to put it.
              But in that case, I would have 3 years of Python experience, which was <5 hours.

    • HaraldvonBlauzahn@feddit.orgOP
      link
      fedilink
      arrow-up
      12
      ·
      4 days ago

      Rust for embedded targets has made rapid progress. In fact, if I want to run command-line applications on my Linux/Sailfish PDA, the easiest way is to cross-compile a Rust app.

      Also, things which C was formerly used for, like writing to I/O memory registers, is easy in (unsafe) Rust. It was made for that.

      Rust is also beginning to be used in satellite and space engineering.

      What of course still needs to catch up is architecture support. But once gcc can compile Rust code, most relevant targets are available. Especially since one can call platform support libraries via the C ABI - and Rust can easily be called from C.

      • squaresinger@lemmy.world
        link
        fedilink
        arrow-up
        9
        ·
        edit-2
        4 days ago

        Tbh, that a good language can be used in a context doesn’t mean it’s a good choice.

        Java, Python, C++, … can run in WASM and thus in a browser, but if you need anything, all examples, all libraries and everything else will be in JS/TS. Pretty much any language in existence is better than JS/TS, but hardly any language is better for browser scripting.

        So for a language to really make sense to be used in a context, you need all the supporting stuff for that too.