I don't really want to do everything in one language but if I did have to pick it would probably be Julia. It's slightly simpler than Python, and significantly faster without relying on APIs written in C. And has some really great features like broadcasting, multiple dispatch, and a good type system. The only place I feel like Python has it beat is quantity of libraries and support network, which both basically come from the same origin of just having more users. I'm hoping more data science types switch over in the next few years, since Julia is already great for most things mathematical. And I hope that momentum allows Julia to perhaps reach out to other domains.
Programming
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
I would be torn between Python and Rust.
The case for Python is that I'm already very experienced in it (nearly 20 years), there's a good job market out there for it, and the ecosystem is one of the best in existence. It's like a comfortable well made jacket, maybe a tad worn in some areas but very functional. And it's not standing still, with a community that's committed to constant improvement.
Rust is more fun. I like the way it's been put together. It can also be used in more areas. There are some niches (wasm, low level, kernel) where Python just doesn't work. It has been able to benefit from the years of mistakes from Python and other languages on things like how it handles Unicode strings. I don't know it as well as Python, but I barely get a chance to work with it so that could change quickly in time.
Rust, hands down.
Ruby. It’s designed for developer happiness, and it’s beautiful. Not as beautiful as it once was, but still lovely to code in.
I just can't comprehend how anyone can think ruby is enjoyable to work in or beautiful. To me it's a dumpster fire. I would almost rather write php.
I can’t imagine thinking the opposite either. People are different. Matz’s attempts at backwards compatibility in Ruby 3, particularly wrt typing haven’t been kind to its more elegant origins, but ‘dumpster fire’ is baffling to me. Some people do like php , though, so 🤷🏻♂️
Crystal is very similar to Ruby, but is compiled to native code instead. Would you consider that? Why or why not?
Go or Rust
DNA
Zig
Choosing a high-level language would limit your world so all of those are out. I could make my own high-level language if absolutely necessary from Zig but the reverse is not possible.
Zig > C as it's easier to write safer more secure code while being as fast or even faster than C, and usable in embedded and other places only C is normally used. In fact, I can create C binaries with my Zig compiler.
Zig > Rust because actually writing safe Rust code would use all my time and sanity so would end up writing unsafe Rust, but then what's the point.
Zig > Go because Go is slower, higher level, and backed by one of the most evil entities to ever exist.
You could write a compiler for a low-level language in anything. Honestly makes little sense that most people do it in C++ when they're only going to replace it anyway.
Zig > Rust because actually writing safe Rust code
Start thinking more functional, I rarely have issues with the borrow-checker, or even have to write unsafe
. But it obviously depends on the context, when the issue at hand really requires a lot of interior mutability or unsafe
can be pain.
I'm also super fast nowadays with Rust, probably faster than with any other language (thanks to great tooling?).
Definitely lolcode.. HAI Can Has stdio KTHXBYE :)
Clojure. Simple language for complex things. It also has java interop and Javascript interop and c# interop. So I will be fine.
JavaScript because you can do everything with it and long term all other languages will, most likely, gradually fade away (except for C/C++).
C. I've been programming for over 30 years and it's the only language to survive. Imagine if I was asked this question 30 years ago and picked perl or Pascal, I'd be screwed today.
I'm surprised no one has picked either macro assembly on their favorite ISA or, perhaps just to screw with people, Forth.
Big Kotlin fan.
Similar reasons to the commenter that talked about using a world class runtime, but the JVM is tested and works.
And now I can use Kotlin to make cross platform applications, while still utilizing the Java knowledge that I unfortunately possess? Perfect!
JavaScript. I can't think of anything else that can be used for everything. It's a back-end language, a front-end language, it can be used for styling and animation, it can be an OOP language or a scripting language, and can make database queries & submissions. Is there another language that is as versatile for website development? I can't think of one.