Why are there so many programming languages? And why are there still being so many made? I would think you would try to perfect what you have instead of making new ones all the time. I understand you need new languages sometimes like quantumcomputing or some newer tech like that. But for pc you would think there would be some kind of universal language. I’m learning java btw. I like programming languages. But was just wondering.

  • @gnus_migrate
    link
    511 months ago

    There can be a universal language in theory, but it’s borderline impossible to achieve. Every domain has a different set of problems that it needs to solve, and language design involves tradeoffs that may make sense for one domain but not another. That’s why I think language wars are silly, without context it’s impossible to say which language is “better”, because you could have different answers depending on what you’re trying to do.

    In the end you shouldn’t be too concerned with it. There are lots of languages, but all of them fall under two or three paradigms where if you learn one language from that paradigm, your skills are mostly transferable.

    • @[email protected]
      link
      fedilink
      English
      211 months ago

      It has been achieved by many different projects: The K framework is probably the closest to a universal language.

      There’s also the possibility of formally defining code as an Agda spec which also allows that code to be converted to any other language without adding new bugs.

      Then, you have category theory which is literally a universal language that describes ALL processes in a program.

      Then you also have lambda calculus which does the same thing.

      • @gnus_migrate
        link
        211 months ago

        I mean if youre going to think of it that way any Turing complete language fits the bill, but what I mean by universal is a language you would reach for to solve any problem you have and it would be better than any other language. It’s not a computer science problem it’s a software engineering problem.