The Cancers In The Ruby Community
blog.txustice.me
blog.txustice.me
I first began to notice the dangerous power of this word when I was working in cancer research. To a cancer researcher, cancer is a thing one deals with all day long, but at a very safe emotional distance. You're used to cancer cells; you study them all the time. You spend quite a lot of time carefully raising them in dishes. You give excited talks about how they work. Still, it's hard not to notice that when you tell a stranger on the street what your research is about, there's this little intake of breath.
And then I grew a bit older, and some friends and I lost relatives to cancer, so we got the chance to actually experience the process from the patient's point of view. (An opportunity which, fortunately, many young people don't get.) And I gradually realized, at a gut level, what all the fuss was about: Cancer is really awful. Dying of it is awful, and not dying of it is also pretty damned awful, because the treatments are painful, often damaging, often disfiguring, and dreadfully uncertain.
Don't use the word unless you mean it. And you probably don't mean it.
(Like all rules for writing, this one has exceptions: For example, if it's in the service of a great pun, like:
Syntactic sugar causes cancer of the semicolon
well, that's different.)
The word cancer has been adopted into the English language to mean an evil condition or thing that spreads destructively.
The article makes no reference to the medical condition, nor the star sign, nor the tropics of.
I don't care much for this article, but the author has used the word cancer in context without belittling the medical condition and it is unfair of you to imply that he has.
Especially since you compare his writing style to one of the most despot genocidal maniacs of our time.
First off, the comparison to Hitler is not hyperbole or misapplied metaphor. Hitler literally compared the Jews to cancer, please see: http://www.dailymail.co.uk/news/article-1233707/Hitlers-hatr...
Second, it's not clear to me that you do appreciate mechanical_fish's feelings. His point is that cancer is an outsized, heavy word, and regardless of the author's intent, the word has connotations that neither you nor the author can shake loose from the word.
I frequently encounter people who say things like "Ruby is all drama", "I chose Python because Ruby is full of bickering hipsters" or "I've always found rails programmers rather arrogant." Lies (or gross generalizations at best) but at least an understandable opinion when sentiment like this keeps doing the rounds.
More specifically, have you attended any regional Ruby conferences? It is almost certainly a community unto itself: those developers who take the time away from their jobs and families to attempt to better themselves by learning from others. The (Ruby) conference-going community is demonstrably better than at least two out of your three arguments.
As for the Pareto principle, it seems unfair to paint the "Ruby community" with such a broad brush while then going on to say the same of the OSS community at large. It's a universal problem. It should not have been raised in the context of your post.
Finally, you provided no constructive advice in your blog post. How was this post supposed to be helpful?
I for one am tired of the negativity.
This post, by providing only destructive criticism, ironically only serves to exacerbate the public image that some paint Rubyists with.
I did provide constructive advice. If you read the post thoroughly, you can see a call to improve our learning manners, stay away from hot trends, and even a simple pattern you can use in your day to day to compare technologies, or to understand better some debates (like threads-processes-reactors).
Please, explain to me the difference between "following trends blindly" and "learning from older developers' experience"?
Because both of them look remarkably like cargo-culting appeals to authority.
Folks constantly rant about the reinvention of the wheel, but i think they're missing the point. Everyone talks about how wonderful it is that digital and web-based technologies allow for rapid prototyping and failing fast which in turn results in the ability to experiment.
And then they turn around and criticize people for experimenting accusing them of not learning from their elders or whatever. Learning is a process. You learn by doing. Even if you have to rediscover what other folks have discovered in the past.
But when you watch the bigger picture, with companies actually building software for clients that trust them, then choosing technology is a delicate, non-trivial matter. It's important, and I mean in actual dollars (or euros). There is where the expertise of older developers, people who have founded, sold or shut down profitable and unprofitable companies, who have worked in a gazilion of projects and made a lot of expensive mistakes, there is where that expertise comes to play. They can enlighten the sometimes childish, faction-like debates about technology that keep repeating themselves over and over. That can free us to think about new problems and new things, based on past experience. That's how science advances, and that's how software development advances too, in my opinion.
This is how Rails was marketed, by splitting people into camps: Us (cool, indie hackers) vs. Them (corporate stiffs). Fervent conflict was intentionally built into the Rails culture from the very start and complaining about it at this point seems slightly after the fact.
Which leads me to my next issue: the Pareto rule. This seems like a silly thing to be complaining about because it's also the reason that there are four revisions of the Rails book and countless other money-makers (books, confs, Peepcodes, etc).
I'm sure you can see why congratulating yourself may seem a little arrogant and perhaps give people the wrong impression of your "cancer-ridden" community.
Rails seems to work magically for first-timers and without knowing what's happening it allows anyone to build sophisticated web applications. It basically expects you to have faith it will work and as such perhaps it creats a faith based following.
What the author is describing is all sympthomatic of many religious groups :)
I spent some time doing ASP.net Webforms, now THAT is a magical framework. To the point where I would say only around 1% of the people who used it had the slightest clue as to what was actually happening. Rails doesn't hold a candle to webforms in terms of magic, but for some reason it is always referred to that way, and I have never heard anyone say anything like that for webforms (or seaside, or lift, or yesod)
I've met developers in many of the other communities (if you can call it that), and I generally don't get along with the people that use Rails.
Many are arrogant and close-minded. I'm not sure why these types of people are attracted to the Rails language.
I've also noticed lots of English majors/writers/non-developers that love to use Rails.
For me, this hasn't been the case for things like Python, PHP, or any other language.
Effective smart people are humble and kind (like Matz). Blowhards are insufferable douchebags and no amount of fake rebellion against 'professionalism' is ever going the change that.
I've worked for many places where we joked about being "professionals" simply due to the fact that we were being paid.
The term "professionalism" is a dinosaur that has nothing at all to do with quality or attitude or really anything beyond someone paying you.
Professionalism is what is killing great languages like C# and decent languages like Java.
It is just an excuse for those in suits to look down on the rest of who create software because we fucking like it, in a way we like, rather than in a way that doesn't threaten them.
How so?
https://twitter.com/#!/dhh/statuses/1631100714
http://david.heinemeierhansson.com/posts/42-we-need-both-eng...
Which only goes to support the notion that much of Ruby's community has issues from the top down. We're speaking of computer science, in which objective, rational analysis leads to correct answers -- not appeals to emotion and an almost religious acceptance of poor solutions.
For every serious Ruby contributor and leader like Charles Nutter (JRuby), there are 5 DHHs or DDH adherents shouting down professionalism as if it was an anathema to logical expression.
Interesting how long we can hold on to perceptions from the past, even when they've been wrong for over a decade.
(I'm not implying that I'm disagreeing with you, in fact I think this shows that even what people think of as "pedantic clock puncher" and "fun loving rock star" from the outside is often very different on the inside.
Looking into other communities, specifically Java, C# and PHP I don't see this kind of behavior, yes sometimes someone like that shows up, but from my experience it's less than the previously mentioned.
Please note that this is merely my personal experience, but I would like to know other people experiences with these communities.
It's not that it's offensive, it just says you are unable to convey the strength of your argument without the vulgarities. You lose critical (logical) thinkers when you resort to crass language; primarily because it says your argument relies on emotion, not logic.
Specifically, this comes to mind:
http://lifehacker.com/5859392/swearing-to-make-your-point-a-...
As well as this:
http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c1...
And this:
http://david.heinemeierhansson.com/posts/15-potty-mouths
There are more, but I don't think I need to internet-sleuth the entire set of well-known Ruby / Web personalities to demonstrate the point: a base lack of professionalism abounds.
If ruby-talk, #ruby-lang, ruby-core, and Ruby conference talks were typically littered with swearing, there'd be a point. As it is, it's a generalisation formed off the back of a handful of cases. Stereotyping, if you will.
I've been covering the news in the Ruby world for about 6 years now, almost full time. People are inventing these silly stereotypes as a way to discredit the language and it's users, it's not based in reality.
yOu mAy sAy tHat pEople wHo hAve tRouble rEading sUch tExt sHould jUst mAke mOre eFfort.
But.you.are.writing.the.blog.,.so.surely.you.want.to.be.as.widely.read.as.possible.?.
Postel's law (gently reformulated) is important when you have one-to-many communication. "be conservative in what you send, be liberal in what you accept".
Here, "fuck"/"fucking" is often a filler word and "cunt" can be a friendly way to start a sentence or refer to your friends.
I don't get offended by any words or sayings, only by their intent.
Granted, I'm a superficial participant in things ruby. But if this vogue opinion of the ruby community is only something you can see in some deeply-heated debates in some Google Group or pull-request comments on some repository, your blog post seems more applicable to all of humanity.
The three virtues of a programmer: laziness, impatience, and hubris. -- Larry WallI would also say that you are probably better off with the Pareto rule, unless ability and industry are evenly distributed within the community.
(I speak as someone who uses Perl and Python for most of his scripting needs, by the way, and is definitely not part of the Ruby community.)