Why do people hate ruby




















To me the biggest annoyance about the Ruby community is the belief that they invented everything and know how to do everything right if others would just listen. And then, through unfamiliarity with what others learned a long time ago, they do it wrong. As a random example, unit testing has been the standard for perl note capitalization - I'm referring to the interpreter here since it was released in the mids, and for the Perl community since CPAN was created in the mids.

And when I say standard I don't mean that someone writes tests, runs it, then packages. I mean that - by default - nothing gets installed anywhere until it has passed its full test suite.

Core ruby still does not have good unit tests, and you have to go out of your way to run unit tests for gems. If you do that, you will find that a good portion were only set up for the author to run - they didn't think anyone else would ever do that.

And yet I've had Ruby devs with a straight face trying to tell me that Ruby is awesome for its testing culture, and everyone else has a lot to learn from them. They are missing a lot, and don't realize it.

Could it be that Rails and by extension Ruby is the first really popular post-web-revolution language used for development since PHP, and, unburdened by lots of bad practices having evolved alongside not necessarily because of PHP, re-introduces a whole bunch of good practices like unit testing? And could it be that as a result young, excited and still green developers, comparing themselves to the 'bad' previous web generation, get a bit cocky about it?

These are not rhetorical questions; I'm actually asking this. I came from humble hack-together-crazy-bad-php-apps, went through getting used to more frameworky stuff with Drupal, and then ended up at Rails with a certain comfort and a definite increase in best-practice. My first introduction to unit testing was through Hartl's tutorials, perhaps because I have no formal programming background. I could see how some people after a similar process get cocky about how great they are because they write tests.

I'm not defending cockiness or whatever characterizes the Ruby community. I'm just wondering. People who come to a better environment from a worse one often do get "true religion", and I am sure that happened to a lot of Ruby devs.

You cite PHP. I would also cite Java devs whose first dynamic language was Ruby, and then went overboard. Either way, enthusiasm combined with lack of perspective leads to annoyance for people who have that perspective, who realize that you're still missing some basic lessons.

Monkeypatching anyone? Ah, great observation. That really does explain it. It's not unlike the zeal of just-reborn Christians, or even just-'deconversed' nonbelievers. That's the attitude which annoys me, as someone who first used Ruby in and had been doing web programming since Neither Ruby nor Rails invented a lot of things, nor did it perfect them.

Rails does deserve credit for promoting "convention over configuration" as a design concept, but plenty of us were doing similar things years earlier. I used to code in Ruby before Rails existed and I switched back to Python because they had addressed a lot of the problems with object-oriented and functional programming that made me look for something else.

And then there was this wave of arrogance when Rails popped up and it seemed that lots of people with little standard of comparisons made outrageous claims about Ruby. Rails and the Ruby community borrowed a lot of work from Python and other communities but claimed that it was "invented here" and did not give credit to those upon whose shoulders they were standing. Ruby is overrated. Python is in most ways Ruby's equal, and in some ways a superior community. Scala is an important language that more people should use because it guides a developer towards writing cleaner code and using architectural patterns that lead to much more maintainable code.

But due to the negative factors in the Ruby community I would not advise anyone to learn Ruby as their first language because of the great risk of becoming a first-language fanboy.

Perhaps that danger is very situational. I was introduced to Rails at this company, and never had any illusions of it being the end-all of frameworks and Ruby that of languages, as none of my 'mentor' coders at the company did either. But in my general surroundings I can definitely imagine high rates of fanboyism.

People don't hate ruby, people hate the ruby on rails community. Personally I don't have any beef with them, but when I ask people about the RoR community I hear lots of douchebagery stories.

One of the most frequent is how cocky everyone in RoR feels towards other programmers in other languages and how "cool" their framework is and so on. So yeah.. I think in all the years of talking to folks in the rails community, only 2 people were decent. Literally hundreds of arrogant assholes otherwise. May I ask where you operate? Reason I'm asking is that my main client works with Rails, but it's a big and rather old-world company where this choice was shockingly 'modern'.

There's little to none off this sentiment you describe though. Rails was a pragmatic choice, so we use it. All this was in the Bay Area. Ruby itself is a great language, and that's what it is at the end of the day - it's just a language.

What matters more is the community gather under it. As with any community, there are members that tend to be immature and arrogant which may reflect to anyone as a representation of the entire Ruby community as whole.

Worse comes to worst, these "few members" can affect the culture of the community especially for new users of the language, turning the community and the language somewhat "cultish". It sucks to think that an entire community gets the reputation of a group of assholes. I use Ruby and rails quite frequently and have definitely run into these type of people, but I've also been helped by seemingly great people more times than not.

My problem is that every RoR developer I've met is like this. Many also also seem to be more in the design field than actual developers. I'm sorry that the community has treated you like this. I guarantee we're not all like this. Maybe they're all trying to call on their inner DHH, or maybe they're really just assholes in real life, either way it sucks. Were these people you've actually met or were they online? The syntax. Python's syntax is much cleaner. I tried to find examples of Ruby's awful syntax in tutorials, but much to my surprise, the code in the introductory sections of a couple tutorials picked at random looks clean and the language seems nearly Pythonic.

This code apparently calculates factorials with the! The function ends with an expression on the last line that doesn't look like it would have side-effects. There are question marks and colons in weird places in that file, too.

I started to translate the function into Python, to show you how much cleaner it would be, but I simply couldn't follow what the multiple nested map's and uniq is supposed to do. I'm certain that the Python equivalent would be much easier to follow. Even if you take "equivalent" to mean "list comprehension" or "itertools. I don't think this project is particularly good or bad.

I merely picked a random piece of Ruby code from an app I installed recently, and I feel the difficulties I had with the syntax of this function are representative of my struggles with Ruby as a whole. All the strange symbols make Ruby code very hard to read. For me, the effort required to learn a language is directly related to the number of operator symbols it contains. Ruby is nearly as bad as Perl or shell scripts. In Python, by contrast, you can usually get a fairly good idea of what syntactical constructs do without consulting the manual, even if you're unfamiliar with them.

To be fair, lambda is an exception. I understand you.. There is a lot of bad code out there, but you shouldn't judge Ruby by a random code snippet- Ruby is just the tool, and the developer is responsible to write clean code. They are more likely to pick something like Ruby on Rails. Or better, no-code tools. You can follow me on Twitter. Do not miss my next post! Drop your email in the box below and get it straight to your inbox :.

Email Address:. Subscribe to future posts. I figured out my love for building things when I started my first online business at the age of I blog at elazzabi. View all posts by Ahmed. You are commenting using your WordPress. You are commenting using your Google account. You are commenting using your Twitter account. You are commenting using your Facebook account. Notify me of new comments via email.

Notify me of new posts via email. Drop your email in the box below and get it straight to your inbox : Email Address: Subscribe to future posts. Share this: Twitter Facebook. Like this: Like Loading Published by Ahmed. Extended book resume. Leave a Comment Cancel reply Enter your comment here Fill in your details below or click an icon to log in:. Email required Address never made public. Name required. Follow Following.

Ahmed Join 1, other followers. Sign me up. Already have a WordPress. Log in now.



0コメント

  • 1000 / 1000