Things that bother me about Ruby
I'm getting past that initial infatuation stage with Ruby. At first, you love a new language. It seems so perfect, flawless. The creators are geniuses! You want to use it for everything, especially that pet project you've been meaning to get to. It would be so easy with [insert new language name here], she is so fantastic!
As with any relationship, it's important to communicate with your partner about flaws you see in each other.
OK, Ruby, you know I love you, but here are some things that really bother me:
1. The community web infrastructure stinks. A very large percentage of the time, when I need to go check online doc or whatever for Ruby, the ruby site is down. And, when it's not down, it's S-L-O-W.
2. Ruby is slow. Face it. It is. If you have anything computationally intensive to do, forget it. And don't tell me to implement those things in C and make Ruby wrappers for them. If I wanted to go back to 1991 and write in C (those were good times, C, we're still friends, right?), I would do that. There's no justifiable reason by an interpreted languages should be so slow in straight line execution. I know, programmer time is much more valuable than CPU time, but when you eventually scale to needing several hundred machines or so, it's not true anymore. Price out hardware, rack space, power and cooling for 200 servers and think about how much programmer time you could buy for that.
3. The online doc needs a lot of work. While there are some great tutorials (e.g. from why the lucky stiff), the online reference doc is weird (four-part scrolling frames? ew.) and incomplete. This one will take the most time to work itself out.
4. The cult of 37signals and rails. I like rails; it's once of the nicest web app development frameworks I've seen. And I really like the software that 37signals has created. Those guys are smart programmers and designers, and I would hire them if given the chance. But there's a certain arrogance/contrived wisdom building up there. At work, we've actually had people comment on our UI in some (generally clueless) way, and cite 37signals philosophy as backing them up. Now, I wouldn't say that everything we do on our product is the greatest UI or idea. In fact, our development process and philosophy is very similar to that espoused by the "Getting Real"™ crowd. My annoyance stems from the fact that "you should be like 37signals" becomes a euphamism for "i don't like your UI."
I'm just old and cranky.