Coding languages, tools, and frameworks are in a constant state of flux, improvement, deprecation, and popularity swings. Let’s take a look at the top 4
3 bad languages and one good one…
Now I am interested, which one, according to you, is the good one and why?
Go is bad, because it could’ve been good. It’s a young language, it could have had modern language features. Instead, it’s about as proficient as languages from 30 years ago.
On top of that, come the usual troubles of a young language.
Rust is good, because it has modern language features, excellent tooling (except for IDEs, but none of these have good IDEs), good documentation, excellent libraries, good security and excellent performance.
It’s the youngest of the bunch, so it also still has many troubles of a young language and it is most useful when performance or security are important, but the language and ecosystem are trying hard to not be shit, which is the deciding difference to those other three.
You’re not really looking at it from the perspective of a beginner though, are you?
Python is a great language for a beginner. It reads easily (as in, if you’re not familiar with programming syntax, you can still often make out what a program is doing) and you can very quickly get to a level where you can build something interesting. Sure, there are bad parts about Python, I won’t deny that, but I’d argue that most of them are not relevant to a beginner who will try to understand functions and for loops. Throwing a beginner into rust and its ownership system sounds awful.
I agree that you can start build something in Python more quickly. But I’m also of the opinion that even just one hour is enough to learn enough about Java to then have a much easier time than with Python.
Because the error messages in Python are just really hard to parse. Even as a reasonably experienced dev, I don’t know what the fuck, it’s trying to tell me most of the time.
As for Rust for a beginner, I specifically chose the words “good/bad language”, because I wanted to exclude the metric of how quickly you can cobble together some horrible hack.
But to be honest, I don’t think it would be that bad either. When you’re learning to program with those ownership semantics right away, I don’t think, it will trip you up as much.
Obviously, it is a low-level programming language, it does force you to learn and decide on topics that a noob really doesn’t care for, but I do think, that it actually benefits from the same advantage that Python has: Setting up your first project is a matter of minutes.
Thank you for your reply. I am in no position to oppose you in any meaningful way as I have little to no experience with three of those four. I was just curious about what your opinion is. Thanks for sharing.
Also, I’m a software dev.
A sysadmin may not mind the shortcomings of Python and Go so much, because they only write short scripts where performance, type safety and tooling matter a lot less.
A data scientist will have a hard time ignoring Python, because several powerful data science libraries exist for it.
That’s a good point. I am used to using Python for scripting and there is really no problem with its performance. Otherwise, making for example an app in Python would be something entirely different… And true, for web development, there is really no other option as common as JS (or TypeScript, for that matter). Heard a lot of good things about Rust too. I am not so sure about Go though. Someone seems to like it a lot, someone doesn’t. But they still use the same arguments for supporting their opinions. I take it that it is at least controversial language.
Yes, I am curious about this as well.
I responded to the other comment.
A general programming discussion community.
Other programming communities: