OSX And Ruby On Rails: The Platform Of Choice For Douchbags
March 16, 2008 - 2:57pm — bexI didn't say it... Jeff Atwood from Coding Horror said it:
I've seen too many people get so wrapped up in what other people think of them that they can't bear to have an original opinion about anything. But if you accept the premise that this kind of statement won't change anyone's mind, and is ultimately ineffective-- even counterproductive-- what are we left with? What purpose does the statement "stigma of being a Windows developer" serve? I can only think of one: David gets off on putting other people down. And that makes him kind of a douchebag. Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags.
A tad harsh... but similar to Zed's comment that Rails is a Ghetto, people are slowly demonstrating that the man behind Rails might be a bit of a demagogue... an insecure one at that, who apparently gets a kick out of putting people down.
Whatever. Rails will always be inferior to Django... even if Rails gets the buzz.
I personally do not have a platform of choice... I have Ubuntu, two Macs, and a Dell running XP. I use 4 text editors, sometimes all in the same day. This week alone I wrote code in 5 languages... and I doubt I would ever be happy if I was forced to select one and ignore the rest.
I know this goes against everything that the "pragmatic programmers" endorse, but I think they miss the point: using Rails is easy... but, if doing the right thing was easy, then everybody would already be doing it. I agree more with Joel Spolsky, when he says that we programmers don't get paid to solve easy problems... we get paid to solve difficult problems.
To me, that means the more languages, the more systems, the more frameworks, the more methodologies you know, the better able you are to adapt. There is no "right way" to do software. There are only the ways that, in the past, have helped us avoid failure.
Accept it, and move on...





The After Math
First, I liked this post.
But, here is my question: How do you deal with the fact that following behind you is a winding trail that most cannot follow? I know I'm asking this poorly, but what I'm getting at is to really operate in the manner you just described you either don't care about the fact that such variance in development practice is going to be very difficult for those that follow you to maintain or you've been blessed with always working with dedicated, hard working individuals. I'm not trying to be combative, I'm asking what I feel is a very valid, serious set of questions. I am very interested.
See, if you do things in five environments with six languages and then expect the average company to deal with that after your gone (making the assumption we're talking about your consulting work here), how has that worked out? Are they always capable? Doubt it. Are they they smart and dedicated to learn all that? Doubt it. Are you so good no one ever has to worry about it? I don't know.
I agree different tools for different problems, i just seem to be haunted by a constant need to make sure the practice is simple enough and the skillset used is common enough that what I leave behind is practical. Exotic is not welcome most of the places I go. I'd like to put some spice on stuff sometimes...so, describe how you season this "just so...".
excellent point...
You hit the nail on the head... use the right tool for the right job. That means the choice of tools depends a great deal on who will maintain it after you leave. It's not about doing it "the right way," but in doing it in a way that is the least likely to cause major problems. That does mean making it secure, stable, and high-performance... but also maintainable, configurable, and flexible, considering the skills of the maintainers.
It's for that reason that I need to know dozens of toolkits, frameworks, languages, and operating systems. Otherwise, it's difficult to create a system that makes sense to those who must keep it running.
If its an all-Windows shop, I'll probably use .NET and Server 2003. If its a all-Java shop, I could use Unix (or Windows, or Mac), but probably some JEE app server stuff. If its a PHP shop, they might be fine with SOAP, Mashups, and maybe some JavaScript widgets. If I'm doing it just for myself, I'll probably just use Python.
Advocate for A makes
Advocate for A makes supercilious comment about B.
Advocate for B calls fans of A douchbags.
How unenlightening. Hansson's comments are ideological and fluffy and have a distinct fanboy wiff so I agree with Jeff: it doesn't matter what you use, what matters is the results.
Having said that I'm just learning to love Rails (and OSX). Rails is easy because it gets rid of the tedious, fiddly stuff. The hard problems are still there: there is no virtue in writing XML config files for object relational persistence.
that sums it up...
At first I liked Rails, but the more I learned about Ruby, the less I liked Rails. The syntax is about at awkward as Perl -- I'm a Python fan -- and some of the low-level IO and memory management is kind of broken... leading to well-known performance and stability problems.
A lot of that could be fixed by ripping out the guts of Ruby and replacing it with Java... so JRuby/Rails might be a better blend. Time will tell...
Personally, I'm heartened by the resurgence of Jython... because that would mean Django could run stand-alone, or in a JEE application server, or in a .NET server (using Iron Python). As the language becomes the platform, running the same exact app in both .NET and Java will becomes a pretty compelling story...
Post new comment