Why do they keep making new languages

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.

unquietwiki,

If any of you happen to still be on Reddit, I actually maintain a “catalog” of these newer languages, as they come across my radar. One of my more recent finds is MiniScript, which the author of that has been using to port a fair amount of classic BASIC games from that GitHub archive I posted about recently. I got sucked into Nim, which seems like a good synthesis of Python, Javascript, and C++; c/nim exists for anyone interested.

noodle,
@noodle@feddit.uk avatar

New languages deal with challenges the old languages faced differently, with hindsight of how those languages dealt with those challenges and how they could have done things better.

We don’t even have a universal language for communication. That may not be a bad thing, either. There’s a theory that the language you speak changes the way you perceive the world - I believe that’s true with programming as well. If we only had Java, we’d only get Java-style solutions.

karlhungus,

That language theory imo is pretty well shown to be very small via tests described well here:the language hoax.

Sort of with you wrt computer languages though

CodeBlooded, (edited )
@CodeBlooded@programming.dev avatar

Think about this: Why are there so many automobiles? And why are so many new models still being 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 automobiles sometimes, like construction equipment trucks or some treaded military tanks. But for average daily driver you would think there would be some kind of universal automobile. I drive a Corolla btw. I like automobiles. But was just wondering.

I’m not here to mock you, just providing an analogy. You can deliver just about anything in one language that you can with another. However, like the car, you might need a different type if you want more performance. Maybe you want a fast car. High performance cars often need a lot of attention, they need that premium gas, the mechanics demand higher pay! What if you only care about getting from point A to point B, and you’re more concerned with driving a car that’s cheaper to maintain, maybe there are just more car mechanics for that type of car, and the cost to pay them is cheaper.

A C application that is very well tuned to manage memory and threads in the name of perfect performance will require more time and computer science knowledge to create when compared to a Python script that does the same thing, but in the most basic possible way running on a single CPU, running hundreds of time slower.

Sometimes you need the performance, and often you don’t. Sometimes you need a treaded tank, sometimes you need a NASCAR, and most days the Corolla does just fine, it’ll even let you miss a few oil changes before things get bad.

As to why we don’t perfect what we have now instead of creating more: technology changes, easier to work with abstractions come about, some people enjoy the hobby of creating a language, or maybe a niche language comes about with very specific trade offs for a very specific purpose, no one wants to break backwards compatibility by adding new features and syntax to their language - I’m sure there’s tons more reasons to list.

MXX53,

I know a handful of languages and I think of them as tools. For example, a flathead screwdriver will work on a phillips screw head (In most cases with some outliers), but a phillips screwdriver might just be better for the job. Same with a wrench and a socket with a ratchet, etc.

When it comes to programming or scripting I approach it in the same way. If I am at work, and I need to automate something quick and dirty, no end user will need to use it, and it is just adjusting data or spitting data back at me, I am probably going to write it in Python.

Or, if I need to make something that an end user is going to interact with, I am probably going to spin up a web server and use the MERN stack to create that.

If I am working at home on a TUI for my favorite application, I am going to use Rust or Python

And if I working on a project that requires me to work with embedded systems, I am probably going to reach for C, maybe C++ depending on the support, and I have in a couple of instances needed to use Assembly.

All this to say, I think that if I had to use Python for all of these, I would be in trouble. Same as if I had to use C++ to accomplish all of the above. Could it be done? Sure. Do I want to do that? Not at all.

Sibbo,

Technology advances. Both theory of programming languages as well as their practical implementations are large fields of research with many people working on it.

Software is so much at the core of everything today that making its development cheaper is extremely lucrative.

esscew,

There are a lot of people with a lot of opinions and preferences that are trying to do a lot of different things in a lot different ways. The same reason we have so many of anything.

toikpi,

Without new programming languages we would still be using FORTRAN, AGOL and LISP.

fortran-lang.org/learn/quickstart/hello_world/

lisp-lang.org/learn/first-steps

computer.org/…/timeline-of-programming-languages

One reason why new languages are developed is the creation of a “Domain-specific language” or DSL. See Wikipedia for more information.

Programming languages are tools you pick the one for the job, there are situations where Java’s garbage collection could be a problem so it would not the right tool to use.

oessessnex,

Some people consider working on programming languages fun, so they create new ones.

darcy,
@darcy@sh.itjust.works avatar

they should have stopped after x86 ASM 😔

yogsototh,
@yogsototh@programming.dev avatar
  • Real programmers code in C!
  • NO! Real programmers code in Fortran77!
  • NO! Real programmers code in ASM!
  • NO! Real programmers code in binary!
  • NO! Real programmers build their own hardware!
  • NO! Real programmer code using bacteria DNA!
BeigeAgenda,
@BeigeAgenda@lemmy.ca avatar

Sounds like a XKCD.

  • NO! Real programmers move each bit on the disk surface!
bob742,

We don’t/ None of them are a significant improvement on PL/1 other that having objects (which hadn’t been invented.) I blogged on this recently. …wordpress.com/…/typescript-i-quite-like-it-plus-…

mspencer712,

Think of a programming language as a crutch for the human brain. Processors don’t need it: they don’t have to think about the code, they just execute it. Our mushy human brains need a lot of help, however.

We need to think about things on our own terms. Different programming languages, different APIs that do the same thing, different object models, these all help people tackle new problems, or even just implement solutions in new ways.

Some new languages have a completely different model of execution you may not be familiar with. Imperative languages are what we traditionally think of, because they work most similarly to how processors execute code: the major pattern used to make progress, do work, is to create variables and assign values to them. C, COBOL, BASIC, Pascal, C# (my personal favorite), Javascript, even Rust, are all imperative languages.

But there are also functional languages, like ML or F#. (The latter, I keep installing with Visual Studio but never ever use) The main pattern there is function application. Functions themselves are first order data, and not in a hacky implementation-specific way like you’re passing machine code around. (I’ve only ever used this for grad school homework, never professionally, sadly.)

And declarative languages like Prolog helped give IBM’s Watson its legendary open question answering ability on national TV. When you need a system to be really, actually smart, not just create smart-sounding text convincingly like a generative AI, why not use a language that lets you declare fact tables? (Again, only grad school homework use for me here)

Programming is all about solving problems, and there are so many kinds of problems and so many ways to think about them. I know my own personal pile of gray mush needs all the help it can get.

lysdexic,

I would think you would try to perfect what you have instead of making new ones all the time.

Perfecting what you have often leads to a completely different language. See C vs C with classes which ended up being C++.

There is absolutely no problem with creating new languages. These are often designed with specific features in mind, and the success cases often offer features that are in high demand. Take for instance node.js, and how its event loop makes it a near ideal language for network-heavy applications that run on a single thread.

ImpossibleRubiksCube,

I don’t even see the code. All I see is blonde, brunette, redhead…

Mandy,
shaqsloth,

Thanks for the laugh 😭

vhstape,

Because people are afraid of C ;)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programming@programming.dev
  • GTA5RPClips
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • Durango
  • cubers
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • ngwrru68w68
  • kavyap
  • tacticalgear
  • ethstaker
  • JUstTest
  • InstantRegret
  • Leos
  • normalnudes
  • everett
  • khanakhh
  • osvaldo12
  • cisconetworking
  • modclub
  • anitta
  • tester
  • megavids
  • provamag3
  • lostlight
  • All magazines