181
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 30 Sep 2023
181 points (88.8% liked)
Programmer Humor
32426 readers
1076 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
An attitude I've seen a lot among software developers is that basically there aren't "good languages" and "bad languages." That all languages are equal and all criticisms of particular languages and all opinions that some particular language is "bad" are invalid.
I couldn't disagree more.
The syntax, tooling, standard library, third-party libraries, documentation quality, language maintainers' policies, etc are of course factors that can be considered when evaluating how "good" a language is. But definitely one of the biggest factors that should be considered is how assholeish the community around a particular language is.
A decade or two ago, Ruby developers had a reputation for being smug and assholeish. I can't say I knew a statistically significant number of Ruby developers, but the ones I did know definitely embodied that stereotype. I've heard recently that the Rust community has similar issues.
The Rust language has some interesting features that have made me want to look deeper, but what I've heard about the community around Rust has so far kept me away.
I write Java for a paycheck, but for my side projects, Go is my (no pun intended) go-to language. I've heard nothing but good things about its community. I think I'll stick with it for a while.
I think all of the factors you've mentioned are extremely valid, but this is the one factor that I think should absolutely not count into whether something's a 'good' or 'bad' language. If I'm choosing which technologies to use for my next project, the question of whether it has a rude vocal minority in its community is AS FAR DOWN on my list as possible. Right next to whether its name is hip or whether their homepage is engaging.
A toxic community won't help you in good faith when you're running into issues, and this makes it harder to develop using a language with a toxic community.
idk, how do I contact "the community" when I have an issue in the first place? All I know of is StackOverflow, and they're honestly toxic enough to make me never ask questions there in the first place.
Yes, and answers on StackOverflow about languages that have toxic communities are worse than answers on StackOverflow about languages with less assholeish communities in my experience. As I mean it, StackOverflow posts tagged with the language (and probably even more so those posts' responses) qualify as part of "the community".
Touche. I personally found Discord users to be helpful and welcoming, but that was moreso for libraries and not languages.
Documentation is not a community though.
Yeah, but the shittiness of a shitty community will come through in documentation that talks down to you and doesn't dain to explain things properly. And then when you go and ask a question because it wasn't well explained in the documentation and get derided for asking.
Fanboys are also likely to mislead (including in documentation) by downplaying caveats in libraries and such. Documentation can end up being more like marketing speak than technical reference.
You speak of "vocal minorities", but I don't think it's quite as simple as that. Languages have cultures around them. (As do lots of other things. Video games. Hardware devices. Car brands. What have you.) If a language has a toxic community around it, it might be an indication that the people behind the language may lack the ability or motivation to maintain a better community. Or worse, that they're doing things that promote or attract the shittiness.
So, in short, I disagree with you. For one thing "everything about this language is great except its community is shitty" makes me suspicious that maybe everything about the language isn't great and it has a really fanboyish community that likes to suppress any (even legitimate) negativity. Where I have to, I use the language I have to use, but when I have a choice, a shitty community is generally a deal breaker for me.
Rust documentation, at least for std is some of the best I have seen.
Gotcha. I can't really speak to the quality of any Rust official documentation.
Whats also nice is thst you put the documentation in the code and rust automatically generates a documentation page thsts hosted on docs.rs. So it makes really easy to have good docs for your stuff. If only everyone would document their stuff perfectly. A lot of the new released stuff gets released with minimal documentation.
Pretty sure syntax is the only one that is even related to what a language is. All the rest are just ecosystem development primarily effected by popularity.
And the ecosystem affects whether when I run into an obstacle, I can google for 5 minutes to find the solution or whether I'll spend the next three days trying dozens of incorrect approaches suggested by StackOverflow answers and random comments on language-specific forums and Wordpress blog posts etc. Whether you consider "the ecosystem" part of the language or not, it's worth considering when choosing a language to work in.
Sure but, this isn't about the actual language. For instance I like Ada, there isn't a lot of public support for it and you're mostly left with the RM and GNAT manuals. But none of this is relevant to Ada as a language. Which was really all I was saying, you should probably split complaints about the ecosystem and the actual language affecting viability.
Of course it's relevant to (my or anyone else's use of) Ada as a language. And for any language the language and culture influence each other too much to consider them entirely separate. The attitude of the community invariably ends up being reflected in the syntax and standard library (and third party tools/libraries/documentation) of the language and vice versa. If you want in your head to decide there's a distinction there, I guess that's fine, but such a distinction has no practical benefit to a developer making the decision what language to use for such-and-such use-case.
i cant imagine people thinking ruby is the best
Ruby is a really nice language especially when taken in the context of it's time. Curious why you feel it isn't worth being someone's favorite?
its like python or lua but worse syntax and slower. we are not in the 90s anymore, i cant see any reason to use it unless working with a code base or library that already requires it. weakly typed interpreted languages are, imo, only good for certain applications, such as scripting or for beginners. why use ruby when lua or even python exist? i used to like ruby, btw, im not just a hater
Are you trying to imply that python is both fast and strongly typed? As for the syntax that's largely a matter of opinion. Most ruby-enjoyers I know specifically call out the syntax as something they like
Also I'm not qualified to comment on Lua so I won't. Most of my language exploration has been with languages many people famously hate (perl and lisp)
All of that is to say I generally don't think talking about what language is "best" is really a productive conversation. I was mostly curious if you had an intimate understanding of the tradeoffs or otherwise a strong opinion about how it was constructed
im saying python is very slow, but ruby is even slower.
I'd use ruby over python or JavaScript anyday
thats like decing whether to be punched in the face or kicked in the balls
Are you me? I know the joke is overused, but, seriously... that was a comment I would have written.
So wierd.
In my experience the actual rust community that you'll be seeing if you work with the language is actually incredibly nice and open minded. It's got a lot of autistic people and other minorities who are more emotionally mature than a lot of adults. Rust people can be smug sometimes talking to "outsiders" but once you're in the community the problem disappears
Blaming others for your own shortcomings in being able to pick up a language is the same kind of behavior as some kid on League blaming everyone else on his team except himself for failing a match.
Stop letting a community dictate your use of effective tools, whether it be C++, rust, python, or air fryers.