Java
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
Clojure, can't stop using it, so fun to use!
For personal preference, assuming I didn't have to worry about getting a job, Lisp no question.
Otherwise, I'd have to go with C++.
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.
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.
Clojure. Simple language for complex things. It also has java interop and Javascript interop and c# interop. So I will be fine.
Go or Rust
DNA
Definitely lolcode.. HAI Can Has stdio KTHXBYE :)
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?).
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!