this post was submitted on 04 Aug 2023
175 points (94.0% liked)
Programming
17494 readers
120 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
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
You can't easily improve a language and stay compatible with the previous versions. C++ does it but they are crazy.
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.
I assure you that there is absolutely nothing easy about the C++ standardization process, lol.
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.
Also, by the time you’ve gotten it to compile, another two versions have come out.
There are no stable releases, just a continual rolling build from the single bespoke server farm that can create releases
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".
Hang on a minute. Isn't that literally just ~~Rust~~ CrabLang?
Rust still lacks OOP (the inheritance/subtyping part of it) though. And some more advanced Haskell features too, like HKT.
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.
Ooh rust just became more appealing to me.
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.
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".
https://xkcd.com/927/