I feel proponents of any programming language put a lot of spin around what isolated aspects it is good for, but fail to illustrate what a programmer in even one target domain gains from using it.

Are there programming language implementations unlike what is described above, that you feel back up their marketing?

  • Life is Tetris@leminal.spaceOP
    link
    fedilink
    arrow-up
    0
    arrow-down
    2
    ·
    7 days ago

    Just as an example, neither the C++ documentation nor its sagely bloggers have ever shown why it is a good fit for, say, systems programming. A really neat way of handling bit-level data is actually in Erlang’s bit syntax.

    Separately, I spluttered when I realized that Boost includes 2 statechart libraries which proclaim the approach is widely useful, but nothing else in Boost uses it - not asio or its ilk, not the parser libraries, not the graph library.

    • Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      6 days ago

      Just as an example, neither the C++ documentation nor its sagely bloggers have ever shown why it is a good fit for, say, systems programming. A really neat way of handling bit-level data is actually in Erlang’s bit syntax.

      Erlang requires a runtime environment, which disqualifies it for situations where you don’t have a filesystem to load the runtime from, like developing a kernel or for microcontrollers.
      Of the popular languages, your choices are virtually just C, C++ and Rust for that.

      More towards your general question: Not needing a runtime environment also means you can use C, C++ and Rust for cross-language libraries. For example, SQLite and OpenSSL have just been implemented once in C, and then you simply have a thin wrapper for Java, Python etc…
      If you are looking to build a library that can be used by as many devs as possible, that’s a selling point which is hard to ignore.

      • Life is Tetris@leminal.spaceOP
        link
        fedilink
        arrow-up
        1
        ·
        6 days ago

        I wasn’t thinking not needing a runtime is a language feature. After all, needing a runtime hasn’t prevented Erlang from running on microcontrollers (Atom VM, GriSP); or Python either.

        Basically, C++ and its ilk have no language feature for their purported stronghold of systems programming. Inertia isn’t a language feature unless the language has actual features (like, say, Common Lisp).

        • Ephera@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          6 days ago

          You picked out my one argument where you have a (weak) counterargument and then declare there’s no other arguments. Does not sound like you want to understand…

          • Life is Tetris@leminal.spaceOP
            link
            fedilink
            arrow-up
            1
            ·
            5 days ago

            I did you the courtesy of replying with a bit of info about Erlang, even though you weren’t addressing the actual point about lack of language features like Erlang’s. BTW, by conceding that the argument for C++ on microcontrollers is weak given other languages doing better on that front, you are conceding that C++ doesn’t have features to help systems programming.

            Arguments are being made for language platform features when the question of language features comes up. I doubt it has to do with people not understanding the question.

            More likely just scratching heads to find atleast 1 useful C++ (or any other mentioned language) feature that actually is useful to the domains professed to be “supported”. This isn’t an attack, I am in this boat too! The utility of its language features seems to be no more than “atleast it is not assembly”.

    • for_some_delta@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      7 days ago

      Boost is too monolithic to be useful. I am not surprised it has redundant functionality. Get the great parts of Boost like asio separately.