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.
you would think there would be some kind of universal language
I actually don’t think that’s the case for languages. Most languages start out from a desire to do some specific thing better than other languages rather than do everything.
You got to it before I did. Programming languages are like vehicles. You wouldn’t take a sports car off-roading, and you wouldn’t expect a tractor to win a drag race. There is a lot you can do with an all-purpose vehicle, but it’s not going to be as good as something that is purpose-built for a single task.
Thanks for the laugh 😭
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.
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.