this post was submitted on 04 Aug 2023
173 points (93.9% liked)

Programming

17484 readers
95 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

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 are viewing a single comment's thread
view the rest of the comments
[–] glad_cat@lemmy.sdf.org 53 points 1 year ago* (last edited 1 year ago) (5 children)

You can't easily improve a language and stay compatible with the previous versions. C++ does it but they are crazy.

you would think there would be some kind of universal language

It does not exist, but anyone is free to try and invent it. It should be low-level like assembly and high-level like BASIC, functional, object-oriented, and have weird stuff like traits, concepts, and alien features from Haskell. It must also have both the pointers/references of C++, and the borrow checker of Rust. And don't forget to make it as secure as Ada with pre and post conditions. But it must still be easy to use. Also you will have to write a compiler for every operating system ever (mainframe, server, desktop, iOS, Android, every phone, every tablet), and contain a universal GUI that pleases everyone. It's literally impossible to do right now.

Last but not least, Java was supposed to be this universal language that you can run everywhere. It failed and it cannot be run everywhere. It also had to be improved a lot, and it's missing a fuckton of features from every other language.

[–] OmnipotentEntity@beehaw.org 14 points 1 year ago

easily improve ... C++

I assure you that there is absolutely nothing easy about the C++ standardization process, lol.

[–] stephenc@waveform.social 9 points 1 year ago* (last edited 1 year ago)

I'd call it Paradox Lang, or PL for short. It even has features that are contradictory to each other, you just have to declare which mode you want at the top of every file. Can you imagine. :)

The only feature it doesn't have is "lightweight and minimal language".

[–] bleph@lemmy.world 9 points 1 year ago* (last edited 1 year ago) (1 children)

Such an abomination could be created. Just imagine all the over engineering that would be required.

It would run ANYTHING on ANY platform by incorporating every libc and assembler and VM and dynamic interpreter.

It runs on EVERY platform and thus it can be adequately tested on NO platform.

[–] Mic_Check_One_Two@reddthat.com 8 points 1 year ago (1 children)

Also, by the time you’ve gotten it to compile, another two versions have come out.

[–] bleph@lemmy.world 1 points 1 year ago

There are no stable releases, just a continual rolling build from the single bespoke server farm that can create releases

[–] complacent_jerboa@lemmy.world 4 points 1 year ago (1 children)

It should be low-level like assembly and high-level like BASIC, functional, object-oriented, and have weird stuff like traits, concepts, and alien features from Haskell. It must also have both the pointers/references of C++, and the borrow checker of Rust.

Hang on a minute. Isn't that literally just ~~Rust~~ CrabLang?

[–] kono_throwaway_da@sh.itjust.works 5 points 1 year ago (1 children)

Rust still lacks OOP (the inheritance/subtyping part of it) though. And some more advanced Haskell features too, like HKT.

[–] complacent_jerboa@lemmy.world 3 points 1 year ago (2 children)

I'll take your word for it about the missing Haskell features, but with regards to inheritance, they deliberate chose to avoid it. They use an alternative model to achieve the same goals inheritance is meant for, but without the issues that come along with it. Their approach is basically a more advanced version of how Go uses interfaces to define shared behaviour.

[–] Obscerno@lemm.ee 3 points 1 year ago (1 children)

Ooh rust just became more appealing to me.

[–] complacent_jerboa@lemmy.world 4 points 1 year ago (1 children)

It is pretty neat. They've made a lot of really interesting design decisions that make for a pretty unique language.

One of its main selling points is how it guarantees memory safety without using a garbage collector. That, plus the fact that it does a shit-ton of compile-time optimizations, actually makes it pretty fast. Like, 80%-90% as fast as C (which is much faster than all the other high-level languages like Java, Go, etc, partly because they do in fact use garbage collectors).

If you want to check it out, I recommend this playlist as a solid intro.

[–] PipedLinkBot@feddit.rocks 2 points 1 year ago

Here is an alternative Piped link(s): https://piped.video/playlist?list=PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source, check me out at GitHub.

Oh yeah, I get all of those, because I am a Rust programmer myself who hates OOP. :D

I raised the topic up only because of how people were talking about "the ultimate language with everything".