David Heinemeier Hansson has a problem with Windows as a programming platform.
While I can certainly understand the reasons why some people go with Linux, I have run all but dry of understanding for programmers that willfully pick Windows as their platform of choice. I know a few that are still stuck in the rut for various reasons -- none of them desire.I would have a hard time imagining hiring a programmer who was still on Windows for 37signals. If you don't care enough about your tools to get the best, your burden of proof just got a lot heavier.
So if you haven't switched already, stop procrastinating. Get it over with. If you have any desire working for the rising rank of companies building their business on open source technologies, you don't want to carry a liability like that around on you resume. Being labeled a 2005 Switcher is bad enough.
Strong invective indeed, but that's David's style. To be fair, his larger point-- that if you care about open source programming, you'll use a platform friendly to open source software -- is reasonably valid, though I'd expect hard core OSS folks to want Freedom Zero in their operating system as well as the software they build. If I felt that strongly about OSS, I'd actually view people who held on to the platform lockdown of OS X with mild suspicion, myself.
Still, is it necessary to paint with such a broad brush? To imply that programmers using Windows "don't care enough about their tools to get the best"? I have a pretty thick skin based on the psychic scars of the thousands of petty internet religious wars I've participated in, and this one even ruffles my feathers a little. I take issue with David's claim that, when it comes to computers and operating systems, there's any "best" anything. In my considered opinion, they all suck. Sure, there are tradeoffs, pros and cons, strengths and weaknesses. But an objective best? It's all relative.
Before you jump all over David, do read his two followup posts (one, two) on the Ruby mailing list, which explain his position in a more coherent, less incendiary way. The argument that 37Signals wouldn't hire a programmer running Windows has as much to do with culture as anything else. It's like showing up to a job interview with Coca-Cola casually sipping a Pepsi. David, unfortunately, felt the need to turn this job requirement into a statement of taste. He declared Coca-Cola the morally and aesthetically superior choice, instead of the simple preference for one type of sugar water over another that it really is.
That post was written in March 2005, but David expressed the same sentiments in a 2007 technology prediction piece.
Apple will continue to trounce everyone else for the preferred geek platform. The stigma of being a Web programmer still using Windows will increase.
Here's what I don't understand about statements like this. They have exactly the opposite effect that the speaker probably intends. There are two possible reactions:
Guess which reaction is more common? Actually, there's no need to guess, as I can guarantee every Windows programmer reading this is thinking #2 right now. As an evangelist looking to increase adoption of your platform, this is a remarkably poor strategy. When has abusing people into agreeing with you ever worked?
Of course, as David has said many, many times, he doesn't care whether we agree with him or not. Well, not in so many words, but you get the idea:
I actually admire this sentiment, as 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.
I used to be an avid Samurai Shodown II player. I played as Earthquake, the impossibly fat, impossibly Texan ninja. I got so good with Earthquake that I could beat all comers in the small Boulder, Colorado arcade I frequented. This led a frustrated player to remark:
You suck! You're kicking our ass with the worst character in the game!
Indeed. There's nothing more satisfying than kicking someone's ass with the worst character in the game. After playing this remarkably well balanced fighting game for a while, I realized that every selectable character had their strengths and weaknesses. Playing well meant understanding your character and maximizing your strengths while exploiting your opponent's weaknesses. If you were clever and patient enough, you could beat any character with any other character. That was skill.
Don't waste time arguing about the character select screen. Results speak loudest. Show the world what you can do in your programming environment of choice.
Great post. To be honest, I'm getting pretty sick of all the Mac-touting Rails programmers with their holier-than-thou attitudes preaching about how they're better than everyone else.
In case you're one of them, here's a tip: none of us are listening because we're busy getting things done in our own environments. :P
Bob Somers on February 27, 2008 5:14 AMLaugh out loud indeed. This is one of your better posts in recent memory. Keep up the great work...
Brian on February 27, 2008 5:19 AMAmen.. That and there are some of us in the Windows world who choose to write with Windows (.NET) because they can influence and help other developers. Helping them to find the find joy in object-oriented programming, know of and about patterns, and generally be a benefit to the community as a whole rather than trash-talk there way into elitism.
The things that make a language great are the people sitting behind the screens. If you can get the best .NET developer and the best Ruby developer in the same room, I beat you that both are equally good at developing.
Those that think great developers are an attribute of a genetic gift (or social impairment) and that great developers can not be taught into greatness need to take that same argument and apply it to language elitism.
It doesn't matter I never found the time to play with Ruby, but that certainly doesn't mean I would suck at it. Besides, languages are only a small part of the equation, I'd hate to be labeled 'the .net guru' or the 'ruby guru' because i want to be 'the guru' regardless of language choice.
In the end, all languages die, the program you wrote today will be re-written in a 'better' language tomorrow. To think the lines of code you write today will be around 5 years from now, or even 2 years from now is a naive thought...
So great, program in Ruby on the latest version of Fedora, but let's see what you can do with your 'perfect' language. In the end all someone really cares about is what they interact with, not what language it was written in.
Terrance A. Snyder on February 27, 2008 5:21 AMGreat thoughts there; since when did the tool determine the talent of the artist?
Matt on February 27, 2008 5:23 AMHeh, once you go Mac, you don't go Back. :)
/touts OS X Rails-Love :)
(Everything just works perfectly together)
On windows, you can't take advantage of a full unix enviornment.
On linux, you can't take advantage of a full commercial, professional enviornment (photoshop, etc)
On OS X you can do both. That's why it's an amazing developer choice.
And don't mention VMware, that shit is not native speed.
Daniel Fischer on February 27, 2008 5:23 AMPlease remember that DHH's famous "fuck you" slide was done at a Rails conference and clearly done as a mid-presentation "rah, rah" for the Rails tribe in the audience. It's also self-evident that "the DHH 'tude" has been wonderfully productive at generating press for Rails 37Signals.
DHH does come across as an ass, but I'll take a politically incorrect (even arrogant) ass over a spineless sheep anyday. For the record, my development platform of choice is Linux and I care a good deal about Freedom 0.
Keith Williams on February 27, 2008 5:24 AMNo one likes douchebags, even us Mac users (hell, to those of us who are long-time Mac users sometimes the new converts end up the most annoying... a bit like some new, and hence militant, non-smokers that way I suppose).
Anyway, probably all full of valid points save for this one, if I may be so bold:
"Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."
Might I suggest a way that more accurately fits with the point I think you're trying to make in this post would be:
"Which also means when you're using Rails and OS X, you're using the platform of choice for a douchebag"?
Else you're going to hurt my feelings calling me a douchebag without having met me first ;)
Chris Cummer on February 27, 2008 5:26 AMHey Now Jeff,
@ David - #2!
Coding Horror Fan,
Catto
If web development, specifically Ruby On Rails development, is the only "cool" career to be going for, I guess that all of us poor saps that develop fantastic fat client apps where web apps don't fit are totally deluded?
Very pimly-adolescent stuff! My computer is cooler than yours so nah!
From a market-oriented point of view (you know, number of users who will benefit from your work) the topic of which platform is best for development is as relevant as the topic of which motorbike is the best (Harley or Japanese) to a dolphin. The only thing that actually matters in all of this is under which environments are our users most willing to find the greatest benefit in what we do.
Anything else is an exercise in futility.
Louis-Eric on February 27, 2008 5:37 AMClassic. Absolutely classic. Jeff you must have been giggling the whole time you wrote this.
Man Crush!
Now let's see if DHH posts a response...
Rob Conery on February 27, 2008 5:39 AMI don't get why people have to get all high-and-mighty about their platform of choice. It's a preference, and its choosing the right tool for the job... if you have a choice.
Personally, I think Visual Studio 2005 rocks. As does Eclipse. I haven't done any Linux programming, but I'm sure lots of their tools are great, too. Does it really matter?
Pick a decent tool and kick some ass with it. Save your religion for church.
Hey Jeff,
Couldn't have said it better myself!
Very well written post :D
Frazell Thomas on February 27, 2008 5:40 AMBad day?
Rimantas on February 27, 2008 5:41 AMNo matter what you think about DHH's comments, you have to admit that a large proportion of the Windows platform programmers out there are on the platform ONLY because of the market not because the platform is technically superior in any way.
thunk on February 27, 2008 5:43 AMTotally with you. I have a couple Mac laptops nowadays and it makes me want to apologize every time I see some one notice. I went to school with a bunch of kids from Europe and for the longest time I tried to tell myself DHH was just expressing himself poorly, that he couldn't possibly be as divisive as he comes across. But I think he is, and I think his attitude is why the Rails community is such a wonderfully friendly place for noobs and non-Rails devotees. It's fun to get talked down to by some 17 year-old with 1/100th the experience of you just because you don't know the framework that he uses as a crutch.
I just started playing with Rails again (http://www.thosecleverkids.com/blog/2008/02/23/getting-started-on-rails-again/) and it's like Groundhog Day. I've come to feel Rails is going to turn into the new VB (no offense, Jeff)/ Powerbuilder, where it's such a robust framework it gets overwhelmed by the noobs. Which would be fine, because it seems like the majority of people using it day-to-day are so wrapped up in working with Rails they can't be bothered to learn how to make useful, usable apps. They seem to be more dismissive of icky users than the average.
Framework of choice for misanthropes since 2004.
Tom Clancy on February 27, 2008 5:48 AMAs a linux convinced user, I do admit I can't stand people not understanding that OS choice is not revelant. Coding as not much to do with OS, but with pleasure. If you like difficulties oops windows, stick with it, it wont prevent you from doing great things.
Anyway, have fun. The rest is bullshit.
jul on February 27, 2008 5:48 AMJust when Atwood was getting into a rut of ho-hum posts, we get this gem dropped on us. The first time I read DHH's sentiments I got the impression he was saying "I'm a better programmer, and smarter, than the smartest developer who works on the Windows platform." What a douche sentiment. Developers who leverage F/OSS to their advantage are smart. Developers who are religious about F/OSS are hippies.
Rex on February 27, 2008 5:50 AMWell spoken, Jeff! Amen * 2
Steven Rogers on February 27, 2008 5:51 AMDHH's statement about the best OSS tools is a little strange. I'm a Python developer and I use Emacs as my editor/IDE. One of the things I love about the combination is it works almost identically on Windows, Mac and Linux.
I switched to OSX about 2 years ago, but not because of the "great OSS tools." I switched because I got tired of Windows and felt OSX had surpassed it for the features I cared about. It's great that it has a strong enough developer community that popular tools get ported nicely to OSX, but it's not like they work _better_ under OSX. Last time I checked C-x C-s still ran save-buffer on all platforms in Emacs.
I find the extremist ramblings of the Ruby/Rails crowd a little tiring. Yeah, Ruby is a cool language and Rails is a nice framework, but it's not like they cured cancer. When I chose Python over Ruby a couple of years ago, one of the big reasons was the community - the Python guys seemed more interested in getting things done and helping others along the way. The admittedly vocal minority in the Ruby/Rails crowd seems to be interested in hearing themselves talk.
David Avraamides on February 27, 2008 5:51 AMSorry, but I agree with DHH here. I've been working on Windows-specific projects for a while now, and I have to keep a PowerBook handy just to maintain my sanity. It's not that you can't do cool things on Windows, it's just that there really is a stigma that comes with being a Windows developer, and now I know why.
It was all C# at work for about a year. Then, suddenly, it all changed. For the last 6 months I've been working in a different, less illustrious, decidedly Windows-only language... one that is turing complete and which I know full well can "do anything." But, still, I am downright *embarrassed* to tell people which language I've been working in.
That's right. I'm embarrassed to admit that I work in VB.NET. That's the stigma of being a Windows dev right there. At some point some major project in a bass-ackwards language is going to come along, and you're not going to want to highlight it on your resume.
If I didn't hack Ruby and Scheme and some more bare-metal code on OS X I would have approximately *zero* geek points left at the end of this latest stretch of my career.
John Cromartie on February 27, 2008 5:52 AMI wish I could give you a standing ovation for this post, and that's not something I say lightly. The one thing that has always upset me about most geeks is their ridiculous attachment to one thing or another. When I was writing simulation software we used QNX because it's a real-time OS, and hardware drivers were written in C. When I was writing a 3D graphic software I used Windows because every video card supports windows, and the code was C++. Now I write web-based internet applications, so I use Ubuntu at work, and work all day in PHP and JavaScript.
You do the best job by using the best tool for that job. Or to put it more bluntly, why the hell would you use a screw driver to bang in a nail when there's a hammer right in front of you?
Chris Nasr on February 27, 2008 5:54 AMExcelent post.
However, I have to wonder what inspired you to write it.
Eric Haskins on February 27, 2008 5:55 AMYou know you nailed it with this post. Making mincemeat out of DHH is no small feat. But throwing down the 'd-bag' gauntlet? Legendary.
Alan Turing postulating the idea of 'univeral computing'. It doesn't matter if you are using vaccuum tubes, or silicon, or germanium, or qubits or DNA. A bit is a bit is a bit. Your preference of 'developer tools platforms' matters even less.
Someday we'll get past hardware and software altogether and hack the universe's own capacity for computation. After reaching this 'singularity' we may have genuine reason for this sort of neo-tribalism! But until then we should be working together on solving the big problems at hand.
Nicotine Caffeine on February 27, 2008 5:55 AMHis statement sounds EXACTLY like something IBM would have said in 1985. Only a mindless fool would have cheered such arrogance then and only an utterly braindead one would ever want to sound like IBM circa 1985 now.
The dumbest part about the statement is that what it also means that if you use OS X you have a lower burden of proof. What a great message! "If you use OS X you don't have to be as good as the guy down the street using windows." How terrifically insulting! I can't imagine why I'd want to work somewhere that expects less of me because of the OS I use. Personally I favor results over tools. I don't care if you use a twig and some bubble gum - if your app rocks then it rocks.
Danny on February 27, 2008 6:00 AMDavid Heinemeier's comments just prove what I knew already... he's not as smart as he thinks he is. He's just like all the OSS zealots out there... the more they badmouth the alternatives to their choice, the more important and smart they feel. It's just their nerd version of a bomb vest.
Eddie on February 27, 2008 6:01 AMBeing a douchebarge is about elitism, pure and simple. It's no way to discuss the technical merits (or lack thereof) about anything.
You can have a strong opinion and still respect someone else's. Know and respect thine enemy. Calmly explain how and why your viewpoints differ, and you might turn them into a friend.
BSD on February 27, 2008 6:02 AMGood article, Jeff. By the way, how long have you been using the term "douchebaggery?"
Click my link to see why I ask. ;-)
Jeff O'Connor on February 27, 2008 6:04 AMGreat article! Sometimes I still lose myself finding the best platform for my work, until I realise that they're all probably very similar (with minor differences), and I should just jump in and muck around first. I don't mean this only in a software context, either.
"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."
I really hope you were trying to be ironic/funny here, I laughed so loud when I read that... it would suck if you really mean it =P
kureshii on February 27, 2008 6:04 AMI thought it was well known that Mac users are douchebags, as so eloquently expressed by Charlie Brooker: http://www.guardian.co.uk/commentisfree/story/0,,2006031,00.html (though he doesn't use that precise term).
More seriously, I do find it odd that people who view Microsoft as 'teh evil' (these people usually spell it M$, another clear demonstration of douchebaggery) because of their 'closed source' mindset often seem to embrace Apple, despite Apple being the most closed and proprietary of the major platforms. I have a Mac at home (which I don't use much) and several flavours of iPod and while Apple do make nice hardware, their love of DRM and closed platforms does make me a bit uncomfortable with their products.
Matt on February 27, 2008 6:11 AMNot your best post by a long shot, Jeff. Let's look at all the people applauding you for calling David a douchebag. Right or wrong, do you see how much people enjoy watching you slam someone they don't like?
So, let's think about this for a moment. How is this post where you slam David and get a bunch of people to cheer for you different than David slamming Windows programmers and getting a bunch of people to cheer for him?
Let me guess: Because you're right and he's wrong? That seems dangerously thin, kind of like arguing that torture is ok provided you're torturing bad guys. Being a Good Guy means being above whatever it is you accuse bad guys of doing. That's called the Moral High Ground, and morality is *orthogonal* to being technically right or wrong.
I expect better from you in that respect.
Now on to Mac vs. Windows. What I often hear from Windows users are statements like "I take issue with David's claim that, when it comes to computers and operating systems, there's any "best" anything. In my considered opinion, they all suck. Sure, there are tradeoffs, pros and cons, strengths and weaknesses. But an objective best? It's all relative."
That's what makes you a windows user: an ambivalence to the merits of one vs. the other, a belief that they are all more-or-less the same, so why not go with the cheaper one or the more popular one or the one they install at work.
That doesn't mean you're wrong, of course, but realize that the people who choose OS X do so because they (we, actually) don't believe they are all more-or-less the same.
Just as we don;t believe (surprise surprise) that all programming languages are more-or-less the same. or that all web frameworks are more-or-less the same.
But guess what? With three billion people on the planet,w e are not all going to have the same perspective. Thank goodness for that.
Reg Braithwaite on February 27, 2008 6:11 AMTo think the lines of code you write today will be around 5 years from now, or even 2 years from now is a naive thought...
Given the code bases I've seen, that sounds naive to me. Or you've only been exposed to really crappy code.
Oh, and try this on a few systems:
$ ident /usr/bin/* | egrep ' 19[0-9][0-9]/' | sort -u | wc -l
58
Wow - it is interesting - platform/tool zealots.
Attempting to prove the superiority of RoR by saying the other option brings a stigma doesn't endear RoR as an option, merely that the other option may not be an option to continue with, the difference is subtle - and to do it in a confrontational, possibly offensive, manner only makes the option you're attempting to champion seem less attractive.
And as for the "stigma", dear Lord, I wish I knew ASP.NET, dozens of jobs come across my desk every week that I could go to. More .NET jobs exist here than Java...
Kaos on February 27, 2008 6:16 AMHonestly, I can get a bash shell on any significant operating system (Cygwin works fine for me), and I can get Emacs for any platform. As far as I know, Vim runs on pretty much everything as well. With those I can develop anything I feel like.
I work just fine with Visual Studio, but I don't really care about it or Eclipse one way or another. All that stuff is just personal preference anyway. And I'm not crazy about the Windows environment, but Gnome on Ubuntu is the only one of those I've ever really liked -- the OS X environment doesn't really float my boat either.
On the other hand, I *love* the combination of languages I can get in .Net. F# is the most productive language I've ever used (for me), and I quite like IronPython as well (among other things, it's a great language to generate). Given this, it makes life easier to develop in Windows. If you prefer Ruby, or Haskell, or Arc, or some other language -- cool for you. Go use whatever tools make sense for you and the language you develop in. And yes, I've tried Rails -- I built out a decent-sized website in it. It's a good environment for some types of things, but it would be pretty useless for what I'm doing now.
DHH isn't an idiot for picking the tools he has -- there are lots of combinations of tools that work for people, and the only way you can really fail is to refuse to ever take stock of the alternatives. But he *is* an idiot for thinking that nobody who uses a set of tools could possibly know what they're doing.
Andrew Norris on February 27, 2008 6:23 AMPersonally, I think you need to have serious self-esteem issues to be offended by DHH.
Besides, everyone knows that real programmers use butterflies: http://xkcd.com/378/
rich on February 27, 2008 6:26 AMHa ha, I'm an old fogie, I haven't been keeping up!
Ok, 3 billion with unique viewpoints and 4 billion (pick your insult) Windows/Mac/RoR/.Net users?
(ducks!!)
Reg Braithwaite on February 27, 2008 6:26 AMDHH and his ilk are a perfect example of what's wrong with programmers. These are the people that spend more time arguing about platforms than writing code.
If you read the Google Groups posts, it seems that there is a lot of backpeddling on his part. I think he was expecting a rousing cry of agreement from the hordes of Mac/Rails users. Unfortunately for him, there are more windows developers in Massachusetts than Ruby developers world-wide.
Ian Muir on February 27, 2008 6:34 AM"Still, is it necessary to paint with such a broad brush?"
Wait a second. Just because _one_ douchebag vocally uses this combination, therefore all others who happen to use this combination are lowlifes as well?
And who's painting with a broad brush?
Aaron on February 27, 2008 6:34 AMReg,
How is this post where you slam David and get a bunch of people to cheer for you different than David slamming Windows programmers and getting a bunch of people to cheer for him?
Because DHH went out of his way to call a whole bunch of people incompetent just for making different technology choices. Is calling someone out for being offensive really equivalent to being offensive?
That's what makes you a windows user: an ambivalence to the merits of one vs. the other, a belief that they are all more-or-less the same, so why not go with the cheaper one or the more popular one or the one they install at work.
What makes me a Windows user is not believing them all to be more or less the same, but acknowledging that they each have different strengths for different purposes. For me, the tools I use prefer a particular platform. What I *don't* think is that there is a single supreme platform for *all* possible purposes. Personally, if I didn't have a reason to be on Windows, I'd be on Ubuntu. Or maybe I'd eventually switch to ratpoison or XMonad on Debian.
But guess what? With three billion people on the planet,w e are not all going to have the same perspective. Thank goodness for that.
On that, I heartily agree. :-)
Andrew Norris on February 27, 2008 6:36 AMSamurai Shodown II !!!
I loved that game - Cham Cham ftw!
I'm totally going to have to find a MAME rom for it now.
daniel//
how fast is natively fast to you?
Oss running on VMWare certainly should be 'indistinguishably' fast in relatively machines with plenty of ram.
Andrew:
"Is calling someone out for being offensive really equivalent to being offensive?"
Calling someone out for being offensive is not taking the High Moral Ground. And when calling one person out includes describing Rails and OS X as "the platform of choice for douchebags," I have trouble understanding the fine distinction between whatever David did or didn't say three years ago and what this post is saying today.
Reg Braithwaite on February 27, 2008 6:48 AMI was looking for a way to say what Reg Braithwaite said first... golden!
Jake Good on February 27, 2008 6:49 AMAs others have pointed out, most Unix tools are available on Windows, so the argument that Unix is a superior development environment because of its toolset falls flat. I think a stronger argument for Unix is what it does *not* have rather than what it has, though Unix advocates seldom take that position.
John on February 27, 2008 6:49 AMAnother great post!
Your on a rush this week, keep em comming
Andrew:
And of course, I have difficulty distinguishing between my comment here and Jeff's post--if I wanted to take the High Moral ground, I would have given Jeff my feedback privately!
Reg Braithwaite on February 27, 2008 6:52 AM*sigh*....yeah, I can see his point...there's no OSS for 'windoze'....except for places like sourceforge, lifehacker, the quickmacros.com forum, all my buddies that code and pass around their code....oh, and i can still play halo on my laptop....*sigh*....i sure wish perl and php ran on windows...oh, wait...THEY DO....*sigh*....douchebag does seem to sum up the troll doesn't it....*sigh*....i guess it really doesn't matter how old the internet gets; it's really a question of how 'old' the people are that are writing on it....Shakespear was wrong; don't start with the lawyers...start with the people....but then i guess if you killed everyone you'd end up with only one guy on the planet and there'd be no OSS by definition cuz he wouldn't be sharing it with anyone cuz he killed them all....*sigh*....why do i even bother...please Lord Jesus come back soon!
keng on February 27, 2008 6:56 AMI find the idea that "It's all relative." extremely suspicious. I think that people who continue to use Windows surely and objectively have bad taste (http://www.paulgraham.com/taste.html), and those are not people that you want to hire.
jtin on February 27, 2008 6:56 AMJeff,
Started great but fucked up at the end, you just made David's own mistake: generalization.
Calling douchebags to all RoR developers on a Mac is as bad as David calling all Windows developers "inferior" for not using the "best tools".
Each developer picks his/her own tools, whatever makes them happy, period.
PS. I had to digg this:
http://digg.com/programming/Douchebaggery_Starring_Jeff_Atwood_vs_David_Heinemeier
Funnily enough Ruby+Rails - it's for websites, where the browser is the platform. With websites, without looking at the url or telltale signs in the markup, you'd be hard pressed to tell me what the code is running.
I'll bet in Ruby you still have to code ugly workarounds for browser differences.
TheyAllSuck on February 27, 2008 7:01 AMIt takes balls and self assurance to have and state an opinion as baldly as the rails faithful do.
It takes even more self assurance and maturity to realize that you're really not all that and a bag of chips, gracefully admit as much, and move on doing amazing things with whatever platform (cause, field, toolset, os, religion) you've chosen.
Think...oh...maybe Lee Iacocca vs. the Dali Lama?
peace
-aaron
In the end, simply ask yourself: does it WORK? Because "all that other bullsh**t is here today--and gone tomorrow."
[quoting some song I've long forgotten]
Nicholas Piasecki on February 27, 2008 7:04 AMThe problem here is that people care too much about what other people think of them. So what if somebody thinks you use a shitty development platform? Why do you care what they think? Stop caring!
This blog post makes you look like a whiny little kid. Grow up and stop having a nervous breakdown every time somebody criticizes you.
James Justin Harrell on February 27, 2008 7:07 AMjeff if i knew you played ss2 i'd gotten together with you for couple rounds back in the day.. my ukyo has been undefeated. cough, hmph.
Jin on February 27, 2008 7:09 AMAfter programming on almost everything from mainframes to windows, linux, and other boxes along the way, I have to say one thing: The only thing that really matters is that the code does what the users want it to do.
Jeremy on February 27, 2008 7:09 AMAn extension of the platform wars by proxy. Cool kids use Macs/OSX; Dorks use Windows. Although Jeff's terminology usage at the end of his post may offend some, it brings the point across.
Of course, anyone who are addressed with three names must naturally exude doughbaggery.
JJT on February 27, 2008 7:11 AMThe difference in platforms is no more important than the difference between colas? That's sheer intellectual laziness. You should have stuck with the message that diplomacy is a relevant and useful skill.
Josh on February 27, 2008 7:12 AMJeff,
Great posts. I continue to marvel at your command of this writing format and use you as an example of how to do a blog right.
Reg,
I'll concede that there is a sizable portion of the Rubyist/Mac OS community who deeply care about the technology and get pure satisfaction from working on their platform.
In return, please concede that an equal sized group in that community who care nothing about the platform and are just in it for the psychological buzz they get from feeling superior than others. It is the geek version of high fashion.
The trick is figuring out a way to sort out who belogns in which group, because the pure passionate ones enrich us greatly while the egomaniacs suck the life force out of us.
Unfortunately, this is problematic since many people who are truly engrossed in what they are doing don't really enjoy the flame war aspect of geek life. They'd rather just be left alone to practice their art. That leaves a very few who are pure in their passion and are able to communicate it in a way that is not insulting and condescending to others.
I am a huge fan of your blog and believe you are in this small minority of passionate people who can communicate their message in an intelligent and mature way.
Unfortunately, despite the man's brilliance, DHH just seems to be a poster child for the other more obnoxious group. That's why he drives people nuts. Whether it is true or not, he reminds us of all the people we've met who may or may not be intelligent, but definitely have the emotional IQ's of protozoa.
Russell Ball on February 27, 2008 7:14 AM"If I felt that strongly about OSS, I'd actually view people who held on to the platform lockdown of OS X with mild suspicion, myself."
People like David who talk about "building business on open source technologies" and then use OS X are just Flosstitutes.
yoyoma on February 27, 2008 7:18 AMReg,
And when calling one person out includes describing Rails and OS X as "the platform of choice for douchebags," I have trouble understanding the fine distinction between whatever David did or didn't say three years ago and what this post is saying today.
You're right -- I forgot about that statement. That was certainly as uncalled for as what DHH says.
And of course, I have difficulty distinguishing between my comment here and Jeff's post--if I wanted to take the High Moral ground, I would have given Jeff my feedback privately!
Well, I think you may be taking scruples a bit far here -- I think it's healthy to disagree in public, though as I said above, I think it went over the line here on the point you called attention to.
Andrew Norris on February 27, 2008 7:49 AMI've been following your blog for well over a year now, and I think this is my favorite post of yours. I especially enjoyed the Samurai Showdown part.
Mike on February 27, 2008 7:52 AMI see the 'Amen' replies in the comments...
It is creepy if you group OS fanatics with religious persons.
Both trying to sell something that is pure 'user' preference.
Members from the Church of Linux screaming blasphemy every time someone loads Windows.
Wow ... I code in Rails and do it from a Mac. That makes me a douchebag?
Real good job of exhibiting exactly what you're supposed to be ranting against, douchebag.
Chris on February 27, 2008 8:06 AMWow. This is actually really hard for me to write as due to your over opinionated, banal and simplistic writings in the past I have always considered you a bit of a douchebag.
This article, although is starting to change my mind. I found myself in almost complete agreement with what you have written.
I have to wonder - does that make me a douchebag?
Malcolm Young on February 27, 2008 8:11 AM@Jeff Atwood
"Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."
Oh give me a break. Dude, I personally dislike using Macs (the internals of that OS are ... a quagmire). I have had ... well... let's call them "interesting" experiences with Rails apps. Despite my displeasure with both systems, to say that it's the platform of choice for a douchebag is just flat out inflammatory.
As I said on your last blog post, you are becoming more and more like a muckraker. I can't exactly pinpoint where you went from blogger to pundit, but I gotta say, the change does not look good on you.
Collin Cusce on February 27, 2008 8:11 AM"it is a poor craftsman who blames his tools"
Good or bad tools.
Follow the money. That's what it is all about. Rants like this one are pointless. We work in the environment that pay the bills. The tools aren't important. The results of our efforts are. You must have jumped out of bed on the wrong side. Proving that one operation system or programing language if better than another is pointless.
tacodave on February 27, 2008 8:21 AMReg's first comment made this very terrible post worthwhile.
Brett on February 27, 2008 8:22 AMProgramming on Windows using open source technologies is at an objective, technical disadvantage to OS X and Linux. Try to make Git work in windows, or see how screwed up vanilla SVN can get on a Windows box. Try to run apache on windows, when you need to compile modules. Cygwin is a mediocre experience at best. Try to get X11 working in a stable way because you need kcachegrind to do performance metrics. Developing in Unix, especially for web applications, it at such a HUGE advantage because the production environment is Unix, that this whole "it's all personal preference" stuff is total BS. There are huge parts of the production stack that are demonstrably inferior while running on Windows.
Whether OS X is easier to use, or more aesthetically pleasant, or whether there is more innovative shareware running on it (think omnigraffle, omnifocus, quicksilver, etc.) -- this is all subject for debate (although I believe a fair analysis will show it's not equally balanced pros and cons, one is superior). And that's not to say that windows has nothing going for it. I mean, C# and F# are both interesting languages and LINQ is ridiculously awesome. But give me a break - it's "all a matter of personal preference" is the often last resort of someone committed to something inferior.
nick kallen on February 27, 2008 8:23 AMNo Chris, you're misreading.
If you were a douchebag, your platform and programming language of choice would be Rails on a mac. But just because you program in Rails on a mac, doesn't necessarily make you a douchebag.
But it doesn't mean you aren't either.
Douchebag.
He made a good point, just pointing out the common trolling. I own a macbook one windows pc for gaming and another laptop for my linux pleasure. I enjoy all of the different os's. At work I do IT for windows. When I feel like coding and not using a script I use linux. When I want to surf the web and do chat and music I do mac. They are all great for what they are. I don't think one enviroment is better then the other. In this day in age and in any IT center I think you need good experience on all systems. Os X wouldnt be as fun for me if I hadn't develed into linux first.
sifrx on February 27, 2008 8:31 AM"Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."
Can't anyone take a joke? You all need to quit taking yourself so seriously.
...on second thought, if you took the time to take offense to Jeff's post and comment on it, maybe you are a douchebag afterall...
Scott Stocker on February 27, 2008 8:34 AMInteresting. In 2005, Dave was clearly a few years behind. This decade has seen such a massive, overwhelming explosion of free and Open software and tools for Windows, and indeed all major platforms, that his standpoint is simply untenable.
A good programmer gets things done no matter what his tools are -- the best programmers get things done in SPITE of their tools.
Mark on February 27, 2008 8:36 AMJeff,
In my opinion, the guy expressed the same opinion you expressed in your posting on 11/25/07 "The two types of programmers". This is all about "I am better than you".
Does this make you a hypocrite?
boring. this is classic dhh, and by classic i mean old. this was ages ago. get with the times...
speaking of the times, it's 2008. the fact that a) the best version of windows around is from 2001 and b) the development tools for it are like having metal spikes on your keys really makes what dhh says hard to argue with.
obviously you need to take his comments in context, he's talking about web development... so that leaves out 'applications' in the traditional sense. and when looking at it that way, well... let's just say that while he wouldn't hire a windows web programmer - i would agree in that i would definitely not take a job for a company that was run by windows people either.
it's no shocker that apple sucked and linux wasn't ready for all of the 90's, but really, it's time to give in here people... gaming is done on consoles, web stuff is platform independent - essentially, if you aren't (as dhh says) stuck doing windows development for some backwards corporation then lets get all these wars over with!
it's nothing like coke vs pepsi, it's like all of the sudden your t-shirts aren't made out of paper anymore, now it's fabric! remember the day you got your first scroll-mouse? yea, like that. you can justifiably say that your scroll-wheel mouse is better than the old non-scroll-wheel mouse... for anything that requires scrolling! and that's exactly what's happening here. _any_ platform is better for web development than windows at this point.
i once tried to update a client site using one of their in-office windows boxes, i fiddled with putty and ie6/some freeware garbage ftp program and other stuff for an hour, told the client i wasnt going to charge them for that and i'd be right back. half an hour later i was doing the work on my laptop in their office with much less of a headache. it's as simple as that... and, yea, yea, what a fanboy, etc... but i only switched, as dhh also mentions, in 2005 - and, believe me, for good reason - and to my benefit.
ryan on February 27, 2008 8:47 AMIf you judge an entire community by it's most brash and vocal 5%, then every platform or text editor or operating system is used only by douchebags.
1. I totally understand DHH's point
2. I totally disagree with everything in this Post, except the last part - the samurai showdown metaphor
3. I am a very long time windows user
I recently installed Ubuntu and made me comfortable with it's file system and package management system for starters. Everyone who saw both worlds must confess that the windows part is inferior here. Yea it works... MAYBE even faster, but as a programmer transparency and clean design are more important to me. And that's where UNIX shines IMHO. Nearly everything is configurable in a simple text file, stored in mostly logically places. The Windows Registry is binary and only viewable with a GUI tool.
And yea, all programming languages are theoretically equal in power, and propably the best coder in C# is as good as the best coder in Ruby. But at the end of the day, I bet, that the Ruby guy was more productive AND had more fun!
I came from Java, and Ruby is so much better to write (read: cleaner, less code, more self documenting)! Sure every language/OS has it's advantages, but i'll sure stick to Ruby/Unix instead of Java/Windows, if I can!
And last but not least: Why do a lot of people just don't get DHH? I read a lot about him beeing arrogant and stuff. I went through some of the actual posts/interviews/presentations and really can't understand that. Actually that "Fuck you"-thing was really funny.
Soleone on February 27, 2008 8:49 AMYeah, I'm getting a bit sick of this shit, too, and I hate doing dev work on Windows.
I'm currently doing RoR work on linux because despite the huge Mac following I'm not actually that interested in switching over.
"It just works" is a decent statement to make about Mac when it comes to average home use, but it has some major shortcomings for serious development work.
Rails devs won't come up against a lot of these due to massive support for the platform from the ruby and rails world, but venturing outside of these can be a real pain in the arse. Although support of unix OSS is touted hugely by many switchers, if you're using anything particularly new it's likely that the darwin ports are going to be well behind the ones available in almost any linux distro's default repository (Haskell, for instance, requires all kinds of dicking around on OSX, but has nice, up to date packages for linux).
If you really care about the tools you use you'll actually evaluate them rather than looking for some sort of panacea. Fuck you DHH.
drinkingbird on February 27, 2008 8:49 AMOn to another topic... What is this Samurai Showdown? And where can I try it??
Reg Braithwaite on February 27, 2008 8:57 AMHoly War, Holy War nonwithstanding… …some thoughts…
1. Yes you can run *nix tools on Windows. You can scrub the floor with a toothbrush instead of a mop too… …I've used Cygwin and Linux and now OS X and there is simply no comparison to working on a *nix machine and having access to both Apache as it exists on server environment + CLI shell power + proprietary graphics tools (i.e. Adobe). Cygwin is an inelegant hack in which you'll spend frustrating moments hunting down why a given package is not working right or quirky behavior fostered from running a "simulated *nix" experience.
2. If your target server platform is Windows, then working w/Windows is a no-brainer. But if you're going to do LAM(P|R) development, you're depriving yourself of available tools. While no fan of DHH and Rails Kool-Aid quaffers, that is the point of his statement about working for 37Signals. They do Rails applications on F/OSS server platform so Windows really doesn't make sense.
3. And if you are locked into Windows realm for web application development, Windows is going to be your sole focus as your deployment options are limited to Windows. Not so with F/OSS tools — while development is better done with computing machines in the same platform, its customer base is wide open to any platform.
4. While I've read some really good stuff here, this is a low point for the site…
Naum on February 27, 2008 9:08 AMWhich also means when you're using Rails and OS X, you're using the platform of choice for douchebags.
Now, see, as soon as I read this I expected to see some qualifying statement about how absolutely funny and ironic you were being. As it stands this is even worse than DHH's original comment. At the very least he didn't resort to name-calling.
I'll quote you: "is it necessary to paint with such a broad brush?"
Honestly, usually your posts are insightful and interesting. What the hell is this? Just another bloody religious war you claim to hate so much. I'm amazed you could even overlook it. So.. Congratulations, you've sunk to his level. You're my hero. See how stupidly easy it is to drip with sarcasm and disdain?
Andrew on February 27, 2008 9:19 AMHow is this post where you slam David and get a bunch of people to cheer for you different than David slamming Windows programmers and getting a bunch of people to cheer for him?
It's different because I am criticizing one person's *specific* behavior that is negative and counterproductive for his OWN PLATFORM. DHH essentially said "if you use Windows, you suck". There's no way I'd touch OS X or Rails based on DHH's "advocacy". If anything I'd double-down on Windows just to prove him wrong.
Just as we don't believe (surprise surprise) that all programming languages are more-or-less the same. or that all web frameworks are more-or-less the same.
Not really what I said; the end result is the same as Samurai Shodown. Either you win the fight (make money with a product) or you lose the fight. Judge by the results; every playable character is competitive in the right hands. Unless your argument is that Windows and Windows development tools are *so* crippled that they can never produce competitive software products or websites, then we're misunderstanding each other.
Wow ... I code in Rails and do it from a Mac. That makes me a douchebag?
No, not at all.
When I said "Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags" I meant it only in the sense that DHH is a self-anointed *advocate* of that platform. He's leading the way, blazing a trail, and encouraging like-minded people to come with him.
So no, I don't think all Mac/Rails users are douchebags, only those that emulate DHH. Sorry if this wasn't clear.
Jeff Atwood on February 27, 2008 9:20 AMIn response to the comment that "it's a poor craftsman who blames his tools..."
The choice of tools is critically important. The entire course of human development is marked by the use of tools and the creation of new and better tools. If you've ever tried to change a spark plug with an open-end wrench you'll appreciate a proper spark plug socket. I recently watched a crew building a new deck. They used heavy-duty electric saws and pneumatic nail guns. How much longer would it have taken them to use hand saws and claw hammers? And how many corners do you think they might have cut to save work in the process?
The history of warfare is marked by improvements in the tools of combat. Armies with armour defeated armies without. Armies with gunpowder defeated armies with swords. Despite the occasional extremely clever commander who defeated a better-equipped opponent, the odds of winning are greatly with the group that had the better tools and technology.
The industrial revolution came about because people developed new tools - powered looms and spinning wheels and the means to turn them. These tools made it possible to produce better, more consistent cloth in less time with less labour. The Luddites who got mad about it were the people who didn't know how to use these new tools and were consequently put out of work.
Choosing the best tools for the job doesn't guarantee success but it certainly increases the odds. You may be able to write brilliant code in PDP-11 assembler, but if you're staking your career, earnings, and satisfaction on it, then before you choose that as your tool set you should probably consider developing at least a working familiarity with the tools used by the leaders in your field.
This is an odd post. You read something that offended you and decided to retaliate by calling the offender a douchebag. That's class.
Try thinking this way:
If somebody says something and you get really offended by it; chances are whatever they said was in direct contrast to a belief of yours. Not a well-reasoned idea you've formed over time, but a belief you hold onto religiously. It doesn't even have to be for something you care a lot about.
Outward criticism is the best opportunity to look at yourself and see if there's something worth changing, be it your toolset, your work ethic, or even your approach with relationships.
Perhaps you're right in saying there is no clear-defined best toolset available for programmers. I can definitely say that the tools I've used on Windows don't provide anything close to the seamless work environment provided by the workstation I use.
Question your methods.
Dare to improve.
Aaron on February 27, 2008 9:27 AMNaum - agreed, but im a linux user :)
My tools of choice for now are python the cream text editor.
Cross platform and nice to work with. Ruby looks nice and i may use it when its suitable though. Ruby on Rails is not nice.
I don't think he was just saying, if you use Windows, you suck. Rather, by using Windows and its widely accepted label of mediocrity, you're approving of that mediocrity and making it a part of your programming. He's almost trying to say that you just don't care about your platform, and that as a software developer, you should. As the vast majority of people that switched to Mac or Linux have never looked back on their Windows days, your lack of willingness to switch exudes apathy. Now, the people that actually like Windows are limited, but existing. I suppose for those people, there would be nothing wrong with using Windows. In the article, he is mostly criticizing those who know about/want a Mac/Linux but don't feel like switching.
glxr on February 27, 2008 9:30 AMI've had too many careers to give a shit what anyone thinks about what tools/platforms I currently use. Next year I could be doing embeded Logo for all I care- so long as it's fun and challenging.
Rich on February 27, 2008 9:32 AMHooray Jeff!
So a solid developer with 15 years of experience (nearly all on Windows) should not apply to 37 Signals??
Hmm . . . but I would be productive on Rails in 6 months, right DHH?
http://www.37signals.com/svn/posts/833-years-of-irrelevance
MattH on February 27, 2008 9:32 AMI'm so bored of these people that espouse one platform over another simply because of some irrational, unfounded semi-religious nonsense used an an excuse to classify themselves as "superior" to everyone else.
If you listen to these noisy people to much, you could be fooled into thinking their beliefs actually had some foundation in reality. The rest of the world will continue to choose tools based on sound business reasons and these guys can continue to masturbate in the corner.
the other form of platform evangelism that is guaranteed to piss me off even more than someone blindly slagging me off for using Windoze (I HAVE to coz I am at work, but really, all the stuff I use, e.g. Komodo, is platform independent. I have it on my work PC, my home mac etc etc) is some website that wont even display for me unless it is viewed with firefox. The internet is no place for 'mentalism!!!
benj on February 27, 2008 9:58 AMNot one of your better posts, Jeff.
I've met in person a bunch of people who develop Rails on a Mac, and I'm not aware of a single person doing it as a fashion statement, or because DHH said so. I'm pretty sure they all chose Rails, or the Mac, or both, because those tools fit their hands better.
Also, your samurai analogy isn't very fitting. Are you saying devs should deliberately hobble themselves with the biggest burden, just so they can school their friends as to how badass they are? DHH would be right to reject an interviewee with that kind of attitude.
Maybe you could kick my ass with the fat Texan guy. That doesn't mean I should choose that character. And it doesn't mean that people who choose, um, some other character (sorry, I don't know the names; I was more of a Tempest kid) are douchebags, even if they vocally proclaim the superiority of, um, other-character-guy.
Anyway, it isn't a zero-sum game. Unless you make handheld instruments, we're not even playing in the same arcade.
meh on February 27, 2008 10:06 AMSo I linked this up on ruby.reddit.com. Apologies in advance for any resultant flamers.
I don't know where I stand on this. I've used unix my entire professional career. Yet, at home I've kept with a Windows box for gaming. I have perl/python/ruby/emacs installed on every Windows machine I ever have to spend a serious amount of time with. That's generally what I like with using OSS dev tools over Microsoft dev tools -- I can use them anywhere.
People port these things to mobile phones. It's ridiculous.
But the other half of it is that I'm pretty clueless with the Microsoft dev tools.
I've actually been tempted at getting a Mac lately because I think it might handle my desire to use a unix OS without having to deal with using linux for day-to-day things like ripping DVDs and playing video games.
engtech on February 27, 2008 10:21 AMps: nice anecdote :)
engtech on February 27, 2008 10:23 AMI get it. Great post.
Nick Waters on February 27, 2008 10:31 AMI like DHH, Rails, my Mac, this blog, and I don't like Windows. I'm pretty sure I'm some kind of douchebag, but I really don't understand why you decided to write this article.
We all know you're a Windows programmer, Jeff. Let the douchebags rant about which platform is better and don't let them get to you. Post this in the comments of DHH's writings, not as an article on Coding Horror.
Brian on February 27, 2008 10:50 AMYour best post yet. You managed to capture my thoughts perfectly, and we don't even know each other. ;)
ewb on February 27, 2008 10:51 AMi don't think this is news to anyone. everyone has known for a long time that the rails/osx contingency is made up of the biggest bunch of douches ever.
the difference is that people can stop being douches.
windows will never stop sucking ass.
I thought DHH was pro 80-20 thinking(and FUCK YOU if you aren't).
I'd think that OS/framework choice lies more in the 20% realm.
Sure, I use Rails myself. But I'm sure I could use some other language/framework or even none at all and the important parts: my ideas and creativity would still manage to rear their heads from underneath all the stigma.
I'm developing Rails on Windows, and not really giving a shit about the Windows part. I somehow doubt I'd give a shit about the OSX/Linux part if they were in the equation.
Collin Miller on February 27, 2008 11:03 AMDo a word count on Amen. I think this has just turned into a religious war. Amen to "I cannot think for myself anymore."
David on February 27, 2008 11:10 AMLuckily with ruby you dont have to care much about windows linux or macosx. I still hope for a real empowered rubyOS one day. One from humans, for humans.
But at the time being, and even though I dont like DHH at all (people and egos just annoy me...) I must say I whole agree with the statement that windows is suboptimal.
No, lets be honest: Windows just plain sucks.
I am using my own ruby-shell on windows and it helps a lot, but lets face it - windows is so crippled, even using a lot of open source tools, it makes it better... but under the hood it just still sucks.
she on February 27, 2008 11:15 AMThe comments to this entry are closed.
|
|
Traffic Stats |