The ruby "community" is visibly a lot more snobbish and condescending than other languages of similar power (python); the whole ruby culture seems to be this toxic one where you're respected in proportion to how rude you are. The whole tone of this article is a good example, actually. Note the complete denial that there might be tradeoffs and legitimate reasons not to use ruby; rather, anyone not using it must be an idiot.
I don't think that is entirely true. I've met really nice Ruby developers and know many online (twitter/github/irc etc) who are really nice and welcoming and always want to help. Of course there will always be loud and obnoxious people in a programming community but so far I've honestly haven't met a single such person.
Honestly, the community around Ruby (Rails, actually) is one of the main reasons why I haven't given Ruby more of a chance. It seems like everywhere I look, people act like they're too good for me, and I'm probably too stupid to ever be a good Rails programmer.
... and I use Windows as my main OS, so I must be square! I'm not "worthy" of Ruby, and anything bad I have to say about Ruby just proves their point. Many articles I read have this condescending tone, this article being a prime example.
Even an article about why Ruby is not ideal for some scenarios is turned into a "you're wrong, Ruby is best" rant.
> It seems like everywhere I look, people act like they're too good for me, and I'm probably too stupid to ever be a good Rails programmer.
Where did you look? Could you introduce me to some of these people that made you feel stupid?
I've been doing ruby for a relatively short amount of time and I've found the community to be a hell of a lot nicer than most programming/technical communities. Where do I have to look to find these ruby assholes?
> the whole ruby culture seems to be this toxic one where you're respected in proportion to how rude you are
I'd be genuinely interested in seeing concrete examples of people held in regard in the ruby community who are respected in proportion to how rude they are. Matz, DHH, Avdi Grimm, Steve Klabnik, Yehuda Katz, Aaron Patterson etc. off the top of my head strike me as gratuitously nice human beings.
They also have no reason to act snobbish. Reasons 2 and 3 are very important to a lot of developers.
I don't think choosing a faster language is premature optimization. Java might be a bit more difficult to program in, but the performance is a lot better. Java is also easier to program in than c++. I think that is a good trade off. I'm not saying you should not use ruby, but not even considering something else seems stupid.
A lot of developers still develop software for Windows and telling them to install some UNIX variant instead of choosing a programming language just seems stupid. Not all of us are developing web applications. But even if we are there are lots of programming languages that work properly in both Windows and UNIX environments that offer the same advantages as ruby, Python or Groovy for example.
I think you've spent more time reading social news linkbait than actually using ruby or examining its community at the ground level.
> The whole tone of this article is a good example, actually
Hold on there, don't extrapolate whatever shitty article makes it's way to HN or Reddit as a litmus test for a "community" (btw, putting "community" in quotes is pretty condescending in and of itself). This guy has no standing in the ruby community whatsoever. I don't know if he's a good developer or not, but his article is certainly sensationalistic and defensive and won't earn him any respect from any ruby devs I know.
If you were to judge every PL community by their most defensive blowhards then you wouldn't be a programmer at all, because every community will attract some proportion of ignorant coat-tail riders without the courage to confront the real issues of their ecosystem.
The Ruby community's biggest fault is a higher-than-average adherence to fashion, as annoying as that can be from a stability perspective, it's not an unmitigated failing because it means a genuinely good idea may catch on faster.
the whole ruby culture seems to be this toxic one where you're respected in proportion to how rude you are.
Could you provide some examples? The most respected Rubyists I can think of, even if I'm not particularly friendly with them myself, are notably nice and frequently go out of their way to help people.
It is trendy to join the pile on against the Ruby community but little evidence remains to be found for its validity.
That's reinforced by point #6 ("Ruby is too opiniated"). Ruby is not particularly opiniated and the community seemed to have much less attachment to doing things the idiomatic way than Python folks.
Yow! Someone's a bit touchy. He was comparing Ruby with Python, which is probably valid.
The whole "opinionated" thing is a bit silly really. Ruby isn't all that opinionated, as the GP poster says. Why Python people would get their bee in a bonnet over "opinionated" code is somewhat beyond me. After all, Python is a language where whitespace is significant...
Python is by design a one way to do things language whereas Perl is There is more than one way to do things.
'There should be one-- and preferably only one --obvious way to do it.' from http://www.python.org/dev/peps/pep-0020/ a sentiment that is re-enforced by the python community and even used to pitch python as an easier language since there is only one (right) way.
It's funny you interpret that as an attack. What do you perceive as hostile in my post? It's just part of the Python philosophy. Whether you consider this a good or a bad thing is up to you. Personally, I consider it an advantage, though I used to think different.
It is true the blog post does not mention Python. However, if you should pick one "opiniated" language in the same niche as Ruby, this is the one most people would pick.
What exactly was the point of this blog post? Quite a few of those reasons are valid and none of the arguments against the 10 reasons are good. It reads like "OMG BUT RUBY! MY PRECIOUS!!1"
People like to talk about their hobbies (and jobs)! Nothing wrong with writing down a few bullets about a language, especially since programmers like to argue about which language is the best.
I assume it depends what you're going for. If you mean to make a fun blog post, maybe (though in my mind it's taking itself too seriously for that, despite occasional jokes, and it comes off as immature instead). If you are trying to convince people to switch languages, and flat-out refuse to acknowledge your favorite language and ecosystem has any weakness, not so much.
This reads a lot like blog posts from back when Rails was catching on (~2005). I thought we'd moved on since then: I genuinely wanted to read an intelligent critique on the Ruby language.
Like Php and other languages, Ruby has one severe sickness:
“One thing Perl’s my() gives you is a guarantee that you aren’t stomping on a given variable. For example, if I’m in a block of code in Perl and want to use a private variable I can just declare it with my() and never have to worry about whether a variable of that name existed previously. In Ruby, if you are inside of a block and want a private variable, you need to choose a variable name that has never been used before. I don’t want to have to hold the entire symbol table in my head!! What can I do?”
source: http://gabrito.com/post/ruby-needs-my-for-variable-declarati...
As a Ruby learner I have to say this post isn't helping.
Yes Ruby is a great language. That's why I learn it in the first place. But a post like this make people think the author is "hardselling" the language. And good things do not need to be hardsold. Ruby itself isn't opinionated. But this post is. In fact if I know nothing about Ruby and its community, I would have drawn the conclusion from this post that Rubyists are arrogant and opinionated.
People really should not try to convert other's language usage. If the language itself can not convince a person, neither can you.
6. Ruby is too opinionated and takes away my freedom to do things my way
Convention over configuration is mainly a rails thing, right? When I was learning Ruby there were quite a few ways of going about accomplishing your task, only there was often a more efficient way of doing things (e.g. using blocks instead of loops, etc.)
28 comments
[ 4.3 ms ] story [ 53.8 ms ] thread... and I use Windows as my main OS, so I must be square! I'm not "worthy" of Ruby, and anything bad I have to say about Ruby just proves their point. Many articles I read have this condescending tone, this article being a prime example.
Even an article about why Ruby is not ideal for some scenarios is turned into a "you're wrong, Ruby is best" rant.
Where did you look? Could you introduce me to some of these people that made you feel stupid?
I've been doing ruby for a relatively short amount of time and I've found the community to be a hell of a lot nicer than most programming/technical communities. Where do I have to look to find these ruby assholes?
I'd be genuinely interested in seeing concrete examples of people held in regard in the ruby community who are respected in proportion to how rude they are. Matz, DHH, Avdi Grimm, Steve Klabnik, Yehuda Katz, Aaron Patterson etc. off the top of my head strike me as gratuitously nice human beings.
I don't think choosing a faster language is premature optimization. Java might be a bit more difficult to program in, but the performance is a lot better. Java is also easier to program in than c++. I think that is a good trade off. I'm not saying you should not use ruby, but not even considering something else seems stupid.
A lot of developers still develop software for Windows and telling them to install some UNIX variant instead of choosing a programming language just seems stupid. Not all of us are developing web applications. But even if we are there are lots of programming languages that work properly in both Windows and UNIX environments that offer the same advantages as ruby, Python or Groovy for example.
> The whole tone of this article is a good example, actually
Hold on there, don't extrapolate whatever shitty article makes it's way to HN or Reddit as a litmus test for a "community" (btw, putting "community" in quotes is pretty condescending in and of itself). This guy has no standing in the ruby community whatsoever. I don't know if he's a good developer or not, but his article is certainly sensationalistic and defensive and won't earn him any respect from any ruby devs I know.
If you were to judge every PL community by their most defensive blowhards then you wouldn't be a programmer at all, because every community will attract some proportion of ignorant coat-tail riders without the courage to confront the real issues of their ecosystem.
The Ruby community's biggest fault is a higher-than-average adherence to fashion, as annoying as that can be from a stability perspective, it's not an unmitigated failing because it means a genuinely good idea may catch on faster.
Could you provide some examples? The most respected Rubyists I can think of, even if I'm not particularly friendly with them myself, are notably nice and frequently go out of their way to help people.
It is trendy to join the pile on against the Ruby community but little evidence remains to be found for its validity.
It seems like they are confusing Ruby and Rails in the first point. PHP, Java, and Ruby were all first publicly released in 1995.
From their respective Wikipedia articles:
"Lerdorf released PHP/FI as "Personal Home Page Tools (PHP Tools) version 1.0" publicly on June 8, 1995"
"Sun Microsystems released the first public implementation as Java 1.0 in 1995."
"The first public release of Ruby 0.95 was announced on Japanese domestic newsgroups on December 21, 1995."
The whole "opinionated" thing is a bit silly really. Ruby isn't all that opinionated, as the GP poster says. Why Python people would get their bee in a bonnet over "opinionated" code is somewhat beyond me. After all, Python is a language where whitespace is significant...
'There should be one-- and preferably only one --obvious way to do it.' from http://www.python.org/dev/peps/pep-0020/ a sentiment that is re-enforced by the python community and even used to pitch python as an easier language since there is only one (right) way.
It is true the blog post does not mention Python. However, if you should pick one "opiniated" language in the same niche as Ruby, this is the one most people would pick.
[1] http://harmful.cat-v.org/software/ruby/rails/is-a-ghetto
Yes Ruby is a great language. That's why I learn it in the first place. But a post like this make people think the author is "hardselling" the language. And good things do not need to be hardsold. Ruby itself isn't opinionated. But this post is. In fact if I know nothing about Ruby and its community, I would have drawn the conclusion from this post that Rubyists are arrogant and opinionated.
People really should not try to convert other's language usage. If the language itself can not convince a person, neither can you.
Convention over configuration is mainly a rails thing, right? When I was learning Ruby there were quite a few ways of going about accomplishing your task, only there was often a more efficient way of doing things (e.g. using blocks instead of loops, etc.)