Ruby and Python guys, and Google does not get art
Python appeals to a very different kind of person than Ruby does. The names do not matter, might also call them “math guys” (Python) and “art guys” (Ruby). What matters is the description of their profiles.
Ruby/art guys equally value the content (utility) and form (syntax, appearance). They treat the code as a beautiful novel and make every line fit into the overall story functionally AND visually. They want elegant tools and languages that provide the freedom of speech that fiction writers would enjoy. They experience their code emotionally, and the biggest decision maker is their vision and gut.
Python/math guys value objectiveness, and the logic behind their decisions rarely focuses on the emotional side. Their sense of elegance and beauty is based on rational concepts like conciseness and readability, and thus on the objective utility. They also have a higher tolerance for pain, feeling ok with messy code, sucking tools and corporate environments.
Ruby and Python guys talk in the same terms of elegance, perfection, power and freedom, but have a hard time understanding each other because these concepts mean different things to them. The Django framework says it’s for perfectionists, but boy are those perfectionists different from the Ruby ones. (Hint: no Ruby guy would ever call him self “a perfectionist with deadlines”.)
Ruby and Python guys might dig the same things, for different reasons. CoffeeScript both adds a great utility and allows writing beautiful programs. Git has immense power, but also is the only version control system that gives a freedom of expression.
Now, the Ruby guys are the first to dig things like Mac, Git, CoffeeScript, Stylus and LESS, because the elegance is clear from the first look, while the utility may be something where you’d be weighting pros and cons.
Deciding who you are is very easy. If you pick something by weighting pros and cons, you are a Python guy. If you pick things you fall in love with, you’re a Ruby guy.
I’m not saying that Ruby/art point of view is the ultimate one. I certainly encourage adopting it, however the winning technologies must appeal to both kinds of people. That requires especially bright visionaiers who do artful and clearly useful things.
(I love Git as an example of this. There are recorded cases on the Git mailing list when Linus has been telling ’fuck you’ to people studying the version control math for their whole life.)
What does Google have to do with all of this? Google is tightly packed with Python guys, and that’s a sure way to make some sucking products and choices.
1. Google loudly picked Mercurial instead of Git, back when the hg vs. git debate was still open but the winner was already clear to anyone with minimal vision skills.
2. Google missed the whole Ruby thing.
3. Google is now actively missing Node.js. Google App Engine does not support Node, and is also years behind the elegance of Redis and Mongo.
4. Go is the ultimate language designed by Python guys. Seriously, what kind of person would even think about using something that ugly? (Well you kind of know how to call them now.)
5. Android is “tolerable” at best to the Ruby guys, while is (probably) loved by the Python ones. Compare it to iOS, which generally appeals to both ways of thinking.
6. Pretty much everything Google does sucks visually. Gmail used to be nice, now opening it makes me cringe. Google Docs and Google Sites are the ultimate suckers, probably held an ulgiest-CSS-contest to style them.
7. There is a great post by an ex-googler about what’s wrong inside of Google. You can see what a high pain tolerance and a lack of constant push for elegance lead to.
Google Code has added Git support last week. This basically admits something that every Ruby guy has known for several years — you have to be stupid to not use Git.
I’d finish this with: listen to the Ruby guys, they know what to bet on. However that does not make sense, because Mercurial still works pretty well, and Android still runs your apps kinda fine, and those Python guys will be happy with their objective choices anyway.