• olenko@feddit.nl
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    12 hours ago

    This is a very bad chart:

    • I don’t understand what Toy Lang, Nu Lang or even System Lang mean
    • How are C and Assembly obsolete?
    • How is C++ more obsolete than D or Go?
    • PHP still powers a large portion of the internet, certainly not a “Toy Lang”
    • Why is ECMAScript here and not JavaScript?

    Downvoting.

    • mkwt@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      2 hours ago

      This chart is easier to understand if you make the following substitutions:

      • Toy Lang --> high level language (except brainfuck really is a low level toy language)
      • System Lang --> low level language
      • Obsolete Lang --> old programming language, regardless of obsolescence status
      • Nu Lang --> newer programming language

      After understanding this construction, I fail to find any humor in this.

      Why is ECMAScript here and not JavaScript?

      Among other things, “JavaScript” is a trademark of Oracle.

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      9
      arrow-down
      7
      ·
      1 day ago

      C is more obsolete than Rust. Coding directly in assembly is rare. Beyond that it’s more subjective.

      • FuckBigTech347@lemmygrad.ml
        link
        fedilink
        arrow-up
        1
        ·
        3 hours ago

        Coding directly in assembly is rare.

        I used to think that, but when you’re dealing with a lot of low-level stuff you’ll eventually realize that Compilers are pretty bad at generating fast and reliable Assembly where it’s needed. Also, some Architectures have specific machine instructions that Compilers just don’t take advantage of, no matter what flags you enable.

        • CanadaPlus@lemmy.sdf.org
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          2 hours ago

          Also, some Architectures have specific machine instructions that Compilers just don’t take advantage of, no matter what flags you enable.

          Interesting. Do you have some examples?

          Writing those frequently-called leaf functions in assembly has certainly far outlived it’s use in other places. But, the word on the street, or I guess the conventional wisdom, is that compilers have gradually caught up even there.

      • Avicenna@lemmy.world
        cake
        link
        fedilink
        arrow-up
        21
        ·
        edit-2
        1 day ago

        The C which is an integral part of every linux kernel on every computer and server running linux as the OS and all the embedded systems everywhere and almost all the performance critical parts of python libraries?

        I won’t have much to say about assembly since don’t use it but far as I know low level parts of OS such as bootloader likely still uses assembly not to also mention embedded systems.

        As long as both of these exist in embedded systems, it is just statistically weird to call it obsolete even in regards to other languages.

        For instance data scientists majorly use python, but python critically depends on C and devices they use critically depend on C and assembly. Can you then really say what they do does not depend on C and assembly and python is more widely used?

        • sunbeam60@lemmy.ml
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          edit-2
          1 day ago

          Many games are still hand optimised in assembly, at least the inner loops.

          • Blackmist@feddit.uk
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 day ago

            Compilers are pretty damn good at doing that by now.

            I can believe there’s some direct assembly usage down in the depths of Unity and Unreal engines, but the average game dev is probably not going to touch it.

            • sunbeam60@lemmy.ml
              link
              fedilink
              arrow-up
              2
              ·
              15 hours ago

              I’d agree that the average game dev is on Unity or unreal and won’t be hand optimizing any inner loops.

              But there are a surprising amount of studios still on their own tech and there the low-level engineers definitely do (I’ve worked in the industry and have seen it first hand - and done it myself).

              It also tends to be at the start of a console’s life span before the compiler and linker is mature up against the hardware.

        • CanadaPlus@lemmy.sdf.org
          link
          fedilink
          arrow-up
          5
          arrow-down
          6
          ·
          1 day ago

          So, the Linux kernel is already partially moved over to Rust. It’s probably in the Python ecosystem too, although I can’t actually say.

          More obsolete was a deliberate word choice. Hell, even COBOL is still used.

          • Avicenna@lemmy.world
            cake
            link
            fedilink
            arrow-up
            5
            ·
            1 day ago

            yea but Rust is not above %80 of the languages in the chart. It is not just a matter of C being more obsolete than Rust it is more like C being one of the most obsolete in the chart. Can’t call it that until it is replaced %80 by something else in systems that exists world-wide and everywhere.

            • CanadaPlus@lemmy.sdf.org
              link
              fedilink
              arrow-up
              3
              arrow-down
              1
              ·
              1 day ago

              I’d actually use some kind of projected future to define obsoleteness. Like, fossil fuels are obsolete relative to renewables, because there’s going to be more going forwards even though there’s more fossil fuels right now.

              Athough, I have no idea if Mojo or Nim are going anywhere, and Brainfuck isn’t. Maybe there’s a dimension of novelty that’s also flattened into that axis.

    • ZILtoid1991@lemmy.worldOP
      link
      fedilink
      arrow-up
      4
      arrow-down
      5
      ·
      1 day ago

      The opposite of system language, especially as many scripting languages have “beginner” features, like a single number type instead of integers and floats, dynamic types.

      • hperrin@lemmy.ca
        link
        fedilink
        English
        arrow-up
        16
        ·
        1 day ago

        I would call that a high level language. Like, the further you abstract from the hardware, the higher level the language.

        Calling it a “toy” language implies that it isn’t useful. You have languages in there that are incredibly useful, like SQL, that basically run the entire internet.

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      1 day ago

      Yeah, that one caught my eye too. Brainfuck is also pretty old IIRC, and it’s hiding down there in the bottom right.

  • Aquaphobi@lemmy.zip
    link
    fedilink
    arrow-up
    29
    ·
    2 days ago

    And I bet this is based in opinion and not any sort of scientific understanding because you put assembly as an obsolete language…

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      3
      arrow-down
      3
      ·
      1 day ago

      I read that as “directly, without a compiler”, in which case it’s close to fair, although I would have still put it ahead of COBOL because sometimes it’s necessary.

      • Should it not say “machine code” then? It would still be bizarre to call it obsolete, given that it’s literally the foundation of all the other languages in the chart. It’s like saying letters are obsolete because we have words now.

        • CanadaPlus@lemmy.sdf.org
          link
          fedilink
          arrow-up
          1
          arrow-down
          2
          ·
          edit-2
          1 day ago

          Why? An assembler isn’t the same thing as a compiler. (Although, I’m not personally sure where the dividing line is. Where would literally just an assembler with loops instead of goto classify?)

          The practice of directly using assembly is relatively obsolete. To bootstrap you might have to a bit, but writing Rollercoaster Tycoon in it was already an anachronism. I’m not really sure how to fit that into your analogy, because there’s no word-compilers in wide use. If voice-to-text had became that dominant, typing would be obsolete, I guess.

    • ZILtoid1991@lemmy.worldOP
      link
      fedilink
      arrow-up
      3
      arrow-down
      10
      ·
      1 day ago

      “Obsolete Lang” is more of a looks category, and back then most programming languages were not much dissimilar from it. Basically Assembly had to stay unstructured due to how CPUs work, while the industry moved on.

  • Scoopta@programming.dev
    link
    fedilink
    arrow-up
    112
    ·
    edit-2
    2 days ago

    Assembly being obsolete has to be the funniest joke in here. It fundamentally never will be even if its use is niche

  • ulterno@programming.dev
    link
    fedilink
    English
    arrow-up
    22
    ·
    2 days ago

    The only way Assembly will be obsolete is if there were no new chips processor models being created.

    Every time a new architecture or a new instruction group is announced, it has to be bootstrapped into the C compiler.

      • CanadaPlus@lemmy.sdf.org
        link
        fedilink
        arrow-up
        4
        ·
        1 day ago

        I actually did miss that one. TIL.

        Interesting that it’s just as nu as TypeScript, despite TypeScript definitely coming after.

        • ZILtoid1991@lemmy.worldOP
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          1 day ago

          I roughly based the nu-obsolete scale on language features not age (or use), TypeScript is just ECMAScript with an optional type safety feature.

          • Randelung@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            11 hours ago

            That’s… not the whole story. TypeScript is very powerful without users noticing. The most widely used feature is probably implicit this binding in fat arrow functions, but also targeted compilation to lower ES standards. It’s not just type annotations à la Python.

  • KazuchijouNo@lemy.lol
    link
    fedilink
    English
    arrow-up
    62
    ·
    edit-2
    2 days ago

    AKA: How to annoy a bunch of computer nerds very quickly…

    Make one for Linux distros next!!!

          • Quetzalcutlass@lemmy.world
            link
            fedilink
            English
            arrow-up
            8
            ·
            2 days ago

            Precisely. Getting people upset is the foremost technique to farm engagement on social media. Sites such as Facebook even deliberately altered their algorithms to show content that will anger readers because it works so well to keep them invested.

            Engagement bait is omnipresent and really obvious once you learn to spot it - even something as innocuous as one or two “accidental” typos in a meme to get people into the comments section.