Douchebaggery

February 26, 2008

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:

  1. Wow, David's right. I made the wrong choice in my career. It's high time I looked into OS X and Rails programming. They sound great!
  2. F****************k you.

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:

David Heinemeier Hansson: Fuck You

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.

Samurai Shodown 2 character select screen

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.

Posted by Jeff Atwood
359 Comments

i love it

andy brudtkuhl on February 29, 2008 8:12 AM

Who the hell is Dave Pendleton? Never heard of him...

Anonymous on February 29, 2008 9:48 AM

Clearly I'm a better artist than than, because I paint in watercolor and you use oils.

GeekRaver on February 29, 2008 10:50 AM

It's easy to take an idealistic standpoint on something you are passionate about.

BUT:

Windows and .NET is definitely a awesome development environment.

Ben on February 29, 2008 10:57 AM

"I find that Basic Users get a little less from Unix, because getting their games to work takes a little more effort, and they're never going to use *nix tools.

Yes I said it once and I'll say it again.... FUCK YOU!
Cogently argued."

I can't agree more, but I wasn't talking about basic users. I was talking about programmers and people who are serious about computers in general.

I could say like you. "FUCK YOU" but I don't like to copy. I think is better to use a quote: "No matter how long you teach a fool, he still knows everything."

"first of all, i don't give a fuck about dave wants people to hire cos i don't give a fuck about 37signals or rails. secondly, if you spend 99.9% of your development time in your IDE, what the fuck difference does it make if you use windows or fucking linux or mac fucking osx? personally i use a laptop that came with windows xp and why should i stuff around configuring it with linux when i don't give a fuck about oss fanboy elitism. so to summarise, fuck off dave and the rest of you oss fucking geeks, no offense"

This guy just kills me. He is so funy!!!!

keitaro on February 29, 2008 11:14 AM

Hello, it's 2005. I'd like my blog-fight and 320 comments back.

Seriously, you had to go back that far to find flamebait material?

2005 on February 29, 2008 11:33 AM

Another great post Jeff. Keep 'em coming!

Mike Strother on February 29, 2008 11:47 AM

Hi Jeff,

I can't take the time to read all of the comments to pile up, but not one of the few I read ever mention your love affair with Samurai Showdown 2. Dude, that game ruled! I am impressed you mastered the fat guy. My personal favorite was the blonde guy with the dog.

I didn't know who DHH was until this post. But I think that I have come to a point in my career where I care more about the process and results, than I do about the tools. I use Windows because it does what I need it to do, run just about any game worth playing and makes for a good career path. Don't get me wrong, I love programming and I would do it in 1's and 0's if I had to, but I don't, and thus far C# makes me happy.

Until the next "best" thing...Thanks for the entertaining post.

Tod Birdsall on February 29, 2008 11:56 AM

"Have you ever wondered why most of the Unix users are advance Windows users and why most of the Windows users ONLY know about Windows?"

Because Windows is used over TWENTY times more.


That's like saying that car drivers aren't real drivers because they don't drive vans. It's not necessarily that they can't, it's that there are lots and lots of cars, and considerably less vans.

Oh, and if they're advanced Windows users, they're not "Unix users". They use both platforms. They might PREFER Unix, but that's because being ADVANCED tends to give you a bit more from Unix than from Windows.
I find that Basic Users get a little less from Unix, because getting their games to work takes a little more effort, and they're never going to use *nix tools.

"Yes I said it once and I'll say it again.... FUCK YOU!"
Cogently argued.

Tom on February 29, 2008 12:58 PM

"Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

That conclusion only works if you *agree* with DHH's sentiment: that the tools you use say something about your personality. And if you *agree* with him, how does it make him a douchebag to say the same thing you're saying yourself?

If he is *wrong*, then using Rails and OS X says *nothing* about you.

Logical FAIL.

Tomas Jogin on March 1, 2008 1:00 AM

When hiring people I do care that they actually have a preference and that they can argue why its their preference.

So, i want them to have experienced all platforms and/or have good arguments for using their platform of choice.

I am not going to 'demand' any tool of choice. The tool will only be effective when they _want_ to use it. But if they don't care, or if they just never tried anything else, that we have a problem. Because it means they have no interest in becoming more productive better programmers.

However, i apply this reasoning more to preferred IDE, source-control and programming language, than the OS choice. If they 'prefer' whatever the hell they used at college by default i will never ever hire them. I do expect people to take care of their toolkit and skills. It's a clear sign they lack passion and with that the ability to solve problems.

So, it's wrong to say Windows developpers suck. But if they develop on windows because they haven't used anything else. Just by default. Then yes, they will not be hired.

On the other hand, if they start a big debate about wether vim/emacs/textmate/eclipse is the tool of choice, they are hired.

Meneer R on March 1, 2008 1:22 AM

"I find that Basic Users get a little less from Unix, because getting their games to work takes a little more effort, and they're never going to use *nix tools.

I can't agree more, but I wasn't talking about basic users. I was talking about programmers and people who are serious about computers in general.

The problem there is that that means you can only program software for about 1% of the *Entire World*. That's why "Unix people" need to use Windows to create even mildly mass-market software, and "Windows people" can get away with just using Windows.

That said, the Chris Rock Theory of Partisanship still applies.
http://my.telegraph.co.uk/david_llewellyn/february_2008/liberals_and_conservatives_why_i_m_with_chris_roc.htm

"I could say like you. "FUCK YOU" but I don't like to copy. I think is better to use a quote: "No matter how long you teach a fool, he still knows everything.""
Ooops. Just realised that the quotation I quoted from a previous comment may have been read as my own words.
I was actually making fun of another poster's concise but douche comment. Which was then removed... Sorry if there was any offence.

Tom on March 1, 2008 1:58 AM

""Which also means when you're using Rails and OS X, you're using the platform of choice for douchebags."

That conclusion only works if you *agree* with DHH's sentiment: that the tools you use say something about your personality. And if you *agree* with him, how does it make him a douchebag to say the same thing you're saying yourself?

If he is *wrong*, then using Rails and OS X says *nothing* about you.

Logical FAIL."

There's a big hole in your logical setup. You're assuming that !(AttwoodDouchebag) and !(AttwoodIronic) are both always true.

Tom on March 1, 2008 2:09 AM

As a matter of fact. The right OS depends on what are you going to do.

Windows is good for .net, C# and other M$ related frameworks.


I do HATE working with windows dudes.

all that insecurity of viruses, worms, setting up firewall, antivirus updating, all that shit makes me sick.

truly.

Fred on March 1, 2008 2:21 AM

A true programmer can move beyond programming languages, tools, etc.

If all someone can do is one language on one tool on one platform, then yeah, they're probably not a very good computer programmer.

But a true programmer can learn or adapt to basically whatever situation he needs.

Bill on March 1, 2008 5:32 AM

This is a great post! I love this post for many reasons. I really like your feel good ending, quoting "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. " Damn right man! Anything else is just useless posturing.

The thing I like most about this post is the use and advancement of douchebag terminology. It's a shame that poor David had to be the target of such advancement, but acts of douchecraft need to be called out and recognized.

Real programmers love to write software, and regard others from that space even in disagreement.

Greg on March 1, 2008 6:21 AM

Like the post. I personally can't get that worked up about what OS I use at this point. Maybe that will change with time. I'm more worried about what development system I use. As far as the OS is concerned, I think of it as a manager of resources. If that ever became a concern for me I would look at other options.

Right now I'm on WinXP Pro. It does what I need it to do. I have thought of upgrading to a Mac from time to time, since I increasingly feel like I don't need Windows, and think that maybe a Mac might be more my taste. Sometimes I've looked at Linux, too. I haven't decided yet, and so am still using Windows.

Mark Miller on March 1, 2008 8:59 AM

Tom, do you misunderstand every sentence that i wrote on purpose?

"The problem there is that that means you can only program software for about 1% of the *Entire World*. That's why "Unix people" need to use Windows to create even mildly mass-market software, and "Windows people" can get away with just using Windows."

I agree!!!!

Am just saying, there's a lack of knowledge in the "Windows people" side. The Unix people, have different perspective. Things are done in different ways in Unix. Unix is more advance than Windows. I mean, the command line in Windows is a JOKE, the way Windows organize their system directories is a JOKE, the file system that Windows use is a JOKE.

Come on!!! you guys are suppose to be a serious about computers. WHY ARE YOU SO HOSTILE ABOUT KNOWLEDGE!!!!

Aren't you curious?
Isn't it fascinating learning new stuff?
Getting another perspective?

I guess, that's the difference that David Heinemeier Hansson saw.

keitaro on March 1, 2008 9:25 AM

I agree with many of the posters here. Tools don't matter. VB over CGI-bin is a fine choice for Web development, as is assembly (because you server might saturate its network cards if you go any higher). Both are just as reasonable as using PHP or ASP.NET or J2EE; it's just a matter of personal preference. Nobody should question why you choose to write your first-person shooter in shellscript; that's as valid a choice as C. A series of random-access files is no better or worse than a relational database, just different.

Or, perhaps choosing a platforms/tools does influence the end result in some fashion (quality, schedule, etc.). And maybe some platforms/tools are better for some jobs than others. And suppose that some platforms/tools were the birthplace of the Internet and the Web. Now, if you are building an Internet application, why would you not choose that platform/tool? If you know the age of the Internet, why would you choose the platform that came a decade late to the party?

DHH is a separate issue, but try his argument with something less emotionally charged, like databases. MySQL is free, MS SQL Server costs money. If you choose SQL Server, you have to justify that choice: why spend money if the free product does what you need? Why should the OS be any different?

RG on March 1, 2008 12:48 PM

@Greg P:
Granted, I don't work with superstars but an example is probably in order: Recently one of my coworkers (an actual CS major) was approached with a list of id's (I think five files of 20,000 or so) and asked to return a list of all of the ones that weren't in a particular database table. I'm still not sure what he was trying to do, but his first instinct was to use Excel, and he wasted about an hour with this before approaching me. My first thought was to copy the files to our Unix server and run cat, diff, and grep. His eyes glazed over. I wanted him to have a solution he could re-use, so doing it myself the easy way was out of the question. Eventually I walked him through a programming (well vbscript) solution that used a hash table (dictionary?) to store the ids from the files lists and compare that against the database list.


Another case of not knowing your tools: define a table with structure of these files, load same, run SELECT ... NOT EXISTS...

Coders *STILL* don't get RDBMS.

BuggyFunBunny on March 2, 2008 2:28 AM

@BuggyFunBunny

"Coders *STILL* don't get RDBMS"

Yeah, it's a shame. They don't learn a thing about security either, from what I hear. My CS education was the same 15 years ago. No lessons on secure coding, and nothing on RDBMSes. I had to learn the latter when I got a job. I later complained about that to my alma mater. They apparently addressed this, but I haven't looked at their curriculum changes in great detail.

Mark Miller on March 2, 2008 10:47 AM

"I do HATE working with windows dudes.

all that insecurity of viruses, worms, setting up firewall, antivirus updating, all that shit makes me sick."

OMG, how is it possible that I am using windows with NO antivirus installed and with firewall disabled, and still having no security problems/viruses/worms/yada yada.... Am I doing something wrong?

Vladimir on March 2, 2008 12:30 PM

aren't people getting sick of talking about? does in one really care? will anyone read this comment? probably not.

if you like using a mac, great. if you hacking away on windows, great. linux...awesome.

i use a mac because it gives me the underlying unix performance and tool set plus a decent interface, and i don't have to spend time dorking around with linux and keep stuff up to date. i've spent plenty of time building software on linux, unix and windows. use what you like using, not what you think you should be using. having written software in all these operating systems, i use a mac because it's the best fit for me.

wait, did a guy write the fuck word with a bunch of stars in it? that's funny.

jjudge on March 3, 2008 7:58 AM

I'm a curious person and a lot of the comments here have mentioned it so I would be interested in hearing more specifics about the "technical superiority" of the OS X platform. I've used Windows since about 1995. Up until that point, I ran OS/2. My computer science professors were Sun fanatics so I have a decent amount of Unix experience as well.

I feel that Windows reached its stride with Windows Vista. It's a solid platform that does what I need it to do and doesn't get in my way too much.

I use my various Windows machines to do a lot of different tasks. I have a 16 track firewire audio recording machine running Windows XP Home and it handles 100+ simultaneous tracks while recording 16 more.

I program in the .NET environment and write web applications that Mac, Windows, and Linux users can all access to the tune of 2+ million hits per month.

I have a Windows Home Server that automatically backs up all of my machines daily with no intervention from me.

I guess my point is, if a tool does the task you need, it doesn't matter if it is superior to another tool or not. If I want to open a bottle of wine, I could probably use a compressed air opener that cost 150 dollars or I could just use a 4 dollar corkscrew. The wine isn't going to taste any different.

About 70% of the people at my company use Macs and so I occasionally provide Mac support to the less advanced users. I find parts of the Mac operating system to be kind of clumsy. The "Finder" concept in particular. I think Windows users like myself tend to expect a program's menus to appear attached to the program's window rather than appearing as an "OS level" contextual menu.

That, I understand, is just years of conditioning on my part. If I were to start out as a user completely new to computers, it would probably seem quite normal.

Anyway, I guess what I'm asking is: what technical capabilities would I gain if I switched from Windows to OS X?

Timothy Lee Russell on March 3, 2008 10:23 AM

Posted a response on BecauseRobots

http://becauserobots.net/?p=35

Strong article.

khamer on March 3, 2008 10:24 AM

This is a great post. And I think the points you make at the end of the post are especially helpful even in reading this very blog: We all have our opinions, but we don't have to change our lives every time we read someone else's opinion!

Thanks!

SeanG on March 3, 2008 10:26 AM

@khamer:
http://becauserobots.net/?p=35
indeed. this is how i see it too!

Soleone on March 3, 2008 12:55 PM

I always cringe when I see a comment like the first one quoted here. Knowing Linux is good and all... but its certainly not practical. There is still a big requirement for non-web software that runs on Windows...

Windows provides a much better development environment than Linux too... if you are willing to pay for it. The best Linux tools pale in comparision to Visual Studio for usability, reliability and practicality. gcc uses att syntax for its asm ffs... and there is no IDE that provides the same kind of integrated debug solution reliably...

People who think we can do away with win32 and more generally, low level development, need to remember that their development is thoroughly dependent on it... and its not the other way around, even in the slightest!

Jheriko on March 4, 2008 5:53 AM

"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 05:26 PM"


I agree 110% on this. Other than that good article. :)

CK Hicks on March 4, 2008 7:49 AM

Wait, wait, wait.

A glorified script writer is going to insult people who write real applications based on the justification that he cobbled together a limited little framework that automates tasks that simpletons otherwise can't handle?

That's like the groups of degenerate pre-teens who get together on XBox Live and claim that they're going to utterly destroy us and everything we hold dear simply because they got together and put a clan tag next to their name.

Doesn't matter, either way, they're both douchebags who can't back up with their opinion with anything substantial.

GregoryD on March 4, 2008 10:14 AM

Else you're going to hurt my feelings calling me a douchebag without having met me first ;)

As others have noted, I am making this claim to satirize David's incendiary claim about Windows programmers.

Just to be 100% clear.

Jeff Atwood on March 4, 2008 11:48 AM

Jeff,

You disappoint me.

I don't mind that you hate David, but you offended the heck out of me by using the term "douchebag".

Are you just ignorant or do you hate women ?

In the hopes that the former is true and not immune to remedy, here is a link to a blog that might enlighten you : http://feministlawprofs.law.sc.edu/?p=412

Disappointed,and very offended (but hoping you'll refrain from the use of that word from now on),
Nora

Norapinephrine on March 5, 2008 10:11 AM

I am a Rails developer who uses a proper IDE (Netbeans for Ruby) and Windows. Installed Cygwin to give me the bash shell and the other tools I need to talk to our Linux server backbones. I started on Unix/Sun workstations, went to client/server stuff then on to web. DHH is a kid, bless him, and hasn't yet lived through the next big change that will make him realise he has to start again. I've done it maybe 5 times in the last 20 years. Experience of one's own ignorance makes one humble. He's on a high now. Losing your job is a great and unwelcome teacher, believe me.

I don't get the Mac thing, either. If you don't want windows Ubuntu is fine, has the sexy desktop thing and runs on more powerful kit that costs a quarter of the price.

Don't get me started about TextMate - it's a word processor with a bunch of arcane key combinations to run a pile of bundled bash shell scripts. I could probably do something similar with Vim or Emacs but don't need to because the nice guys from Sun have written very good free tool. Can't split a view of the same file - just like a word processor all you can see is the few lines around where you are working. http://francis.blog-city.com/debugging_rails_applications.htm

Francis Fish on March 7, 2008 1:21 AM

Samurai Showdown II. The best acrade fighting game ever made...
I loved playing Haohmaru, Galford (go puppy! grrrrr woof woof) and Ukyo.

Those were the days... :)

JoeB on March 7, 2008 2:07 AM

@Vladimir

"OMG, how is it possible that I am using windows with NO antivirus installed and with firewall disabled, and still having no security problems/viruses/worms/yada yada.... Am I doing something wrong?"

No firewall? Nothing?!? Cool man, gimme yer IP address *wink*

Chances are, you dont' have issues because you're not the typical windows user. You're most likely a geek who knows better than to just go nuts on Peer 2 Peer networks etc. If you think about it...the Geek to Windows user ration is much lower in the Windows world than say the Geek to Linux or Geek to Mac user ratio.

Still, dude, you have a huge pair to be running M$ software without protection...kinda like having anonymous sex without a condom...just taking unnecessary risk...

lifewithryan on March 10, 2008 1:15 PM

"Douchebaggery" is good SEO.

Reg on March 12, 2008 9:52 AM

Still, dude, you have a huge pair to be running M$ software without protection

Good to know ;)

I will say this I used linux for 6 months as my primary OS and there is one thing that happened. I was UNproductive. I kept screwing with stuff so much that I never actually did what I was supposed todo.

My development environment by choice is .NET so windows is the best choice for that. And you know what. I like windows. It does what I need it to do when I tell it to. Isn't that what a computer is for.

Buddy Lindsey on March 12, 2008 12:36 PM

i just wanted to tell you that i stumbled upon this post once again and the title made me laugh pretty hard (again). thanks for that.

you know, i think a whole line of books could be written in this vernacular:

- java for jagoffs
- .net for dbags
- python for pussies

somehow i can't think for a good r for ruby.

:)

jjudge on March 13, 2008 3:19 AM

It's pretty clear that Jeff is NOT calling Mac users/Ruby developers douchebags (of course, the Internet has no shortage of people determined to take offense at something, anything, just to have a reason to be self-righteously indignant).

Within the context of the article, I interpreted the "douchebag" comment as a parody of DHH's comments (comments which I'm inclined to consider intentionally-inflammatory, if I'm being cynical). It also works as an example of DHH's lazy, sweeping generalizations applied to a wider context. In other words, if you're intellectually-lazy enough to accept DHH's reasoning, then you also must accept the premise that "OS X is the platform of choice for douchebags."

Of course, that assumes that one places a high importance on intellectual consistency honesty - which is not really a safe assumption to make with the more wide-eyed, frothing-from-the-mouth elements of Apple fandom (ditto over-zealous advocates of any OS, but Apple fans seem to have elevated willful, selective ignorance to the level of an art form).

StephenBeDoper on March 14, 2008 1:58 PM

amen brother..
though i have to admit that kinda hit me real hard..

allan on March 15, 2008 5:42 AM

I agree with some of what you said, but one part is incorrect, imo:

"...To be fair, his larger point..."

He did not have a larger point in his post - plain and simple. His meaning was very clear, I thought, and he made two statements that were very explicit:

"...the writing's on the wall: OS X offers the best personal computing experience available today...If you don't care enough about your tools to get the best, your burden of proof just got a lot heavier."

There's nothing to munge, here. It couldn't have been more plainly stated.

That Hansson walked it back, changed the subject, etc., is nothing new for 37signals - they're becoming experts at backing down every time they say something that is too controversial. But the 'larger point' stuff - all the 'culture/politics' nonsense he started using as new reasoning in the Ruby list posts - they have nothing to do with his original/only point.

Peter on March 27, 2008 4:30 AM

iI 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/i

That is quite possibly the most asinine statement I've heard this year.

I'm ordinarily not one to participate in this type of dick-measuring contest, but I feel I have some valuable advice for the changelings who take that self-styled messiah DHH seriously: It's a fucking operating system and a web framework. You remind me of the Ford-vs.-Chevy half-wits from high school. Eventually you'll come to realize that nobody owes you their undying admiration because you happen to prefer to use them.

And Macs are great, but don't you feel like kind of a turd for buying into Apple's whole "Dude, look at me! I'm an iconoclast!" lifestyle marketing thing?

Puberty Rules!

Starbelly Slim on June 9, 2008 8:39 AM

I just love this section in DHH's follow-up post:

The choices you make as a programmer serves as indicators for your
cultural standing and performance. The kind of books you read, the
methodologies that you favor, the pastime projects you're involved
with, and yes, your choice of programming language and computing
environment.

OK, let's see: I use VC# at work, and also use it at home. What does this say about me? I guess I don't care about my tools, huh? Well, you're Goddamned right, I don't. I use it at work because that's what the boss - you know, the guy who signs my paychecks - prefers. I use it at home because a good friend of mine who works at Microsoft got me the whole Visual Studio platform for free. I since I have a life, I don't feel like spending my non-work hours learning an entirely new framework for kicks and giggles. I much prefer playing sports and doing stuff with my wife to sitting around mentally masturbating about methodologies and what a Goddamned genius I must be for finding the best personal computing experience available.

I've gone from UNIX to Windows to Linux and back to Windows without any problem. The only time it's a problem is when I run across fanatics like DHH.

GeronimoRumplestiltskin on August 26, 2008 3:55 AM

I have used all different kinds of platforms and programming languages. Anyone who can get excited about one over the other must see something I don't.

I suspect there is another motivation at play here than X is measurably better than Y, like the guy is making a name for himself that will win him consulting contracts, books published, etc... either that or he's a tool.

Ozzy!!! on September 1, 2008 9:50 AM

Yes, DHH sucks as an evangelist.

??????

do you really think DHH sucks as an evangelist? I quit my job to become a full time rails consultant more than two years ago. The only marketing I've done was to go to two rails meetups, and mention to a colleague that I wanted to be a rails consultant. My first gig came after two weeks. It was with a fortune100 company. I've been working fulltime ever since, mostly for an FTSE100 company with whom I've just signed for another year. I have no blog or even a website, because there's always more paying work to do instead. I did recently incorporate.

Geez, imagine if I'd chosen a web app framework with a GOOD evangelist promoting it.

somebody on November 13, 2008 12:45 PM

@GeronimoRumplestiltskin

I think you're the picture of the guy he doesn't want to hire. He wants to hire people who hack because they enjoy it and not just because that's what they do for a living and their friend hooked them up with the tools. The rest of the world has to pay $300 a license for VS.

John Bender on January 7, 2009 11:43 AM

DHH is an obvious cock. From what I read, 37signals is just a bunch of loud mouth pattern zealots doing the agile dance. I'm staying far, far away.

Willie on April 10, 2009 2:10 AM

Amen..

Brandon on February 6, 2010 10:19 PM

Last I checked (personally) there were almost 7 billion people on the planet [http://en.wikipedia.org/wiki/World_population]. Now I'm wondering what Reg knows - are 4 billion of them evil robots? An advance wave army of the Martian federation? The undead?!?!

Jon Galloway on February 6, 2010 10:19 PM

Great post dude. I totally agree with you. That is the wrong way of proselytizing people. There's no self-respecting developer out there who would agree to abandon the tools he's been using for years, just because someone comes up and tells them they're useless because they're not using the tools that HE thinks are right.

Software developers aren't daft; DHH is, for assuming they are and that an psychological attack on windows developers would actually work in getting them to scrap windows/.net, over os x and ruby. Deciding to go with a particular tool and platform is a person's own choice.

Inform people, and let them decide if they want to use your products.

Work with whatever technology you're comfortable. Sure, windows can be unruly, but I've learned to accept that and just soldier on and get the job done. If it works for me, why should I switch to os x? Just because someone tried to (psychologically) bully me into it?

When you talk about software you should remember that There's ALWAYS a trade off. Every OS and every programming tool has its strengths and its weaknesses. Just like characters in a video game.

There are no silver bullets; every tool has its purpose. So tell this bully to stuff it. Psychological attacks of this kind show exactly how blind this person is.

ramon on February 6, 2010 10:19 PM

Why bring this up now? His comments were made almost 3 years ago.

Brandon Peterson on February 6, 2010 10:19 PM

Jeff,

Way to call this guy on his douchebaggery. Nice word too, I'll have to use that when I tire of asshattery.

In 25 years of professional software development, I've used a lot of platforms for development. Big Iron (System/370 kin); nameless, defunct minis (Data General, Contel, Burroughs); all manner of DOS (Atari, Amiga, PC, etc..); Classic Macs; Unices galore (System V 3.2, and up); and all kinds of MS Windows systems.

And yes, they all suck. Some of them spectacularly.

For me the more stable platforms were the Big Iron, the most clever were the minis, best toolsets under Unix, most portable targets were the DOS systems, and most screen-comfortable are the Windows systems.

Big Iron had lousy tools (an Editor?), the minis were never backwards-compatible (Model 6's can't run Model 5 code!), modern Unix administration toolsets are bloating quickly and are poorly thought out (Configuring with "frobnoz"? No, you wanted gleib. Or krurk. Or urwek. Or was that gnatqueeg? Or...), DOS systems the dev tools were additional costs (and often very expensive), and Windows systems have stability issues.

Nobody's perfect, I guess.

Clinton Pierce on February 6, 2010 10:19 PM

Jeff said:
"See, that's where you're wrong. In the right hands, *any* of those characters could kick your character's ass. Not realizing that means you don't understand the game at a very fundamental level. Or you're just a douchebag who gets off on telling other people that their character of choice sucks, while theirs rocks.

(Assuming the game isn't fundamentally unbalanced -- this is a whole other topic, of course.)"

This is actually not another topic at all. Rather, it is supreme question-begging to assume that the Windows platform and the *nix platforms are equally balanced and then go ballistic because someone asserts that one is better than the other.

My fighting game of choice was and is Tekken 3. It is an unbalanced game. Fast characters with multiple launches, combos, counters, who do a lot of damage (Law, Paul, Nina, Ogre) have it all over the Gun Jacks and Kumas of the game. You can combo Gun Jack and Kuma when they're on the ground, for God's sake.

In a player's guide I owned, there was a matrix of character A vs. B strength, based on average number of matches won by character A when two players of equal strength played each other. There was a broad distribution of power; all characters were not created equal. You could not button-mash with Eddy and match Heihachi. Let me correct that slightly: above a certain skill plateau, it just could not be done. However, the same was not true below the plateau. When you were better at Tekken, the skill differences were magnified such that a great player on Gun Jack would beat an average player on Paul.

There might be a skill plateau above which a great programmer will always be better than an average programmer, regardless of the platform. That's what you're talking about in the post. Boring. The conversation that would be much more interesting would be whether Windows vs. Unix is more like Samurai Shodown or more like Tekken 3. Will a great programmer on Unix best a great programmer on Windows?

How could we decide between these two things? What metrics could be used? For me, the closed-source nature of Windows is such a misfeature that it seems obvious that we're playing Tekken. But we can go on. The POSIX calls are better on Unix than Windows. Windows frameworks are underdocumented and don't play nicely with others. Windows adds features at the expense of stability. Windows made a mess of access permissions.

If you wanted to say that we're playing Samurai Shodown, I guess you'd say that I've misrepresented these metrics, or that the metrics don't matter. You might come out with your own metrics, which show that every operating system is shiny happy people.

But I'll also add, that as interesting as that discussion would be, that's not really the point DHH was getting at. He said that someone who voluntarily seeks out Windows as the superior platform is not interested in metrics like openness of source, stability, POSIX, open frameworks and the like. In short, they play Samurai Shodown. They might be right for what they're doing, but it turns out that they're wrong for 37signals. 37signals is definitely playing Tekken.

Ron on February 6, 2010 10:19 PM

Of course DHH is going to bash Windows programming on the web. He wrote Ruby on Rails for Christ sake. What do you want him to say, Windows is OK but Ruby on Rails is better (politically correct).

Now I have never used Ruby on Rails and I have programmed for Windows for many years using C++, VB, ASP, and C#. Now I respect DHH for creating Ruby on Rails, but if his opinion is that because I use Windows environment to program in therefore I suck, then fuck him.

I'm not going around and saying if you not using Windows you suck, or if your using Ruby on Rails you suck. You use the tools and platforms that your client dictates.

I just don't get this elitism and favoritism among tools and platforms among programmers. Aren't we all in the same boat by providing solutions to users and clients??? Jeff, your guilty of it as well (to some extent) by bashing DHH. It takes 2 to tango. Your better off just ignoring it.

Jon Raynor on February 6, 2010 10:19 PM

This post was so much trollbait, but I still had a good laugh. Bravo!

(I'm not saying I agree with everything in it, or disagree, just that it was generally hilarious.)

Aaron G on February 6, 2010 10:19 PM

Unfortunately, naive douches like Dave seem to forget one major
industry where open source will never be the platform of choice, and in
fact CAN'T be the platform of choice due to regs already written. This
is a fairly large industry, you may have even heard of it, its called THE GOVERNMENT. I'm sure that most other software-purchasing governments in the world won't put up with the security compromises of
open source, either.

sarcasm
Wow, that must explain why Red Hat, for example, does so little business with the US government. Certainly no agencies as important as the FAA, the DOD, NSA, or NASA would touch Linux with a ten foot pole.

Most certainly no governments outside of the US would touch open source either.
/sarcasm

Jon on February 6, 2010 10:19 PM

Who the hell is David Heinemeier Hansson? Never heard of him...

Dave Pendleton on February 6, 2010 10:19 PM

Hey, I've got it all covered. I work on a system that was ported from unix/informix over to windows/sql server. This beast has all the bad parts from all of those system rolled up into one!

btw, I chose to add enhancements to this mess via c# and .net.

Don Kibbey on February 6, 2010 10:19 PM

I am so late to this party. I worked with a company with an exclusive contract with Microsoft for 6 years. After the contract expired a third of the company went to Macs running OS X.

Web production was all about the LAMP stack.

2009 was the most productive year for this company in terms of churning out websites... about 20 by the year end.

The previous years produced a site a year, and this was a fortune 500 company with thousands of people.

Sorry, windows sucks. I tried to be technology agnostic but Microsoft simply doesn't play fair so why should I hold back.

Barce on February 18, 2010 12:08 PM

«Back

The comments to this entry are closed.