All the best hackers I know are gradually switching to Macs... The reason, of course, is OS X. Powerbooks are beautifully designed and run FreeBSD. What more do you need to know? I got a Powerbook at the end of last year. When my IBM Thinkpad's hard disk died soon after, it became my only laptop.
It's great to see that over the past few years it has become the norm, not the exception, that good programmers are wielding Macs. There's the odd exception of Linux here and there, but the writing's on the wall: OS X offers the best personal computing experience available today.
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.
UPDATE: Of course the discussion continued off-site, so I elaborated on my position in twotakes on the Ruby mailing list.
I've always been a Mac user. My parents bequeathed to me a LC II which was my first computer and I got my start with programming in HyperCard at my elementary school (how cool is that?). However, in high school I took programming courses with PCs and I was amazed with the developer tools available from Microsoft. They really are amazing. The Apple DevTools are getting better and better with each iteration, and I have found my niche as a hobbiest/convenience programmer and not a professional one, so it is perfectly suitable for me to stick with my Mac, but I can see many professional programmers staying in the Windows camp for the developer tools.
Of course, this is rapidly changing with sides pulling from every direction, and Windows' dev-tool gravity is surely weakening, but I think that's an excellent reason to both use and enjoy developing on Windows.
At home since forever a Mac users, but at work stuck working on .NET and Microsoft all the way up and down the stack. It's tough to make the case there: our product sits on top of Microsoft Virtual Server. But one of my 43Things goals is to spend more time 9-6 on my mac instead of 9-midnight!
"I have run all but dry of understanding for programmers that willfully pick Windows as their platform of choice. "
I guess you tried .net and did not like it. This might not be the case with everyone though, I think MS makes great tools and great programming languages (like c# or asp.net).
Uh, some of us develop in a number of languages on Windows simply because we are able to quite easily and we have invested in dev hardware that was waaaaay cheaper next to a comparable Mac (running a small business requires us to protect our cash at all costs, as you know).
Our team develops in Python, Java, Ruby and PHP using Eclipse, MySQL, PostgreSQL, Apache and Tomcat. You're doing great work with Rails but lighten up on the accusatory tone against us "unwashed" saving a boatload of money developing strictly in open source using inexpensive hardware that just 'happened' to come with XP.
We'll be sure to shower up and clean under our fingernails before attending any conferences where we might bump into the Holy Enlightened and their Powerbooks.
Challenge by kent on March 30, 7:27
I've been using the PowerBook for the last 2 year. I used to think that this is the most beautiful computer I've ever seen. But now it's getting old and I start thinking about a new laptop. And you know what, I'm not going to buy a new PowerBook unless Apple fixes three major problems with it:
1) It's TOO SLOW (not even funny);
2) It's getting TOO HOT after an hour of use;
3) The quality of the screen display is VERY BAD.
VisualStudio is a pretty nice IDE. And there are some Win developers who choose Win XP computers + VS.NET because it's still a good choice for making Win applications. Let's not forget that Windows still owns most of the consumer market.
Aside from my 3 lb laptop, I've assembled my last six computers from components, just because I enjoy putting together my own box. The one I'm using, as I type this, is a dual-screen, DVR-capable, silent box in an Apple-like iStyle case from Nexus in the Netherlands. My next box, though, will send me back to Apple. It will be my first Apple since programming the newly-introduced Lisa and Mac, my student job at Stanford in the early 80s.
Some of us Windows owners have been aware of resurgent Apple for a few years. Some of us even bought AAPL stock in the teens, so in your interview process, would past Apple stock purchases cancel out current use of Windows? :)
So I guess that my choice of Windows and .NET makes me a bad programmer...? I love my c# and Eclipse doesn't even come close to Visual Studio as the number one Developer IDE.
Come on David - wake up! You're a brilliant evangelist but your tone is getting a bit childish, and you're worth much more. Open up instead of closing in...
In a perfect world where I have unlimited funds, I guess I could choose to have both a Windows machine for my gaming needs and a Macintosh for my development needs.
In the real world, I have chosen to have a Windows machine that covers both needs just fine. Sadly, in Davids world that apparently makes me a less skilled programmer?
I think you are doing great things with rails and stuff, but who do you think you are judging developers based on their tool-box?
I'm sorry but I have to agree with Paul and Hartvig (except for the .NET thingy) ;)
Challenge by Joshua on March 30, 11:39
Ditto here. There will never be a good enough reason to excuse this sort of judgemental attitude, regardless of which operating system issue, software crash, hardware malfunction, or Act of God has inspired it.
But blogs are like that - keep up the good work with Rails!
Challenge by eyðun on March 30, 11:39
Well, I for one find it intriguing to see how DHH is playing you all by regularly posting flamebaits in his blog :)
And it does indeed generate a lot of buzz around Rails
Such attitude is sooo stupid. Sure, I would be happy to buy a Mac, but they are almost prohibitively priced here in Russia, while the salary is nowhere near. But I guess, DHH doesn't care.
So, my Rails applications would be a lot better if I wrote them on a Mac instead of on a Wintel box? Or am I by definition a mediocre programmer for choosing it?
Flamebait or not, I disagree with the premise of your post. I am happy programming on my LG laptop. It is Korean, it is not very stylish, but it is cheap. It allows me to run the applications and tools I need (including Ruby and Rails), and no, I don't think I am a bad programmer for choosing it. In my world a text editor is a text editor regardless of the platform on which it runs.
I would be lying if I said I didn't lust for a Powerbook, but for me it is a question of economics. I can get my work done well on a platform that is at least hald the price of a Powerbook of similar specifications. To me the extra expense does not make a lot of sense. I use the tools that are right for the job, and my clients are happy with the work I do for them. To me that is a lot more important than the opinions of my peers perched on platform pedestals.
Considering Windows vs Linux - I've been using Linux for 3 years full-time in the past, but now as I work in a web UI developer position, I can't/won't anymore. Tools just suck (compared to Visio, TopStyle, Dreamweaver) and the state of Linux desktop is still poor. It gets more and more polished every day but these guys still fail to do the basic things, like remembering window sizes and positions. I was able to tolerate these things while doing technical stuff, but it's simply painful when your mind is wrapped around UI/usability stuff ;)
I'm primarily charging the lack of passion for your tools, which seems to be what a great many developers still left on Windows are citing at least in part for staying. "...covers both needs just fine", "Windows simply because we are able to quite easily".
It's this attitude that I find hard to mentally link to the caring craftsman. The one that'll seek to write ever more beautiful code, seek ever more productive approaches, and invest enough soul in their work to make a difference. It's the "whatever" attitude that gets to me.
Additionally, I see a cultural disconnect between open sourcers and the Windows behemoth. Willfully choosing to further support a company that still carries such a hostile position against open source, its licensees, and its projects is for me politically at odds with being the happy user and creator of open source software.
In closing, I didn't say that there's a 1-1 cause and effect. Being on Windows doesn't automatically convict you as a bad programmer. It's just incriminating evidence that'll make your case for the opposite harder — not impossible.
David -> I didn't mean to fight you, what I was trying to tell you was that you're not an underdog anymore, not a little kid - so statements like these a not as charming as they used to be. Actually - it's a compliment; but I really think you should re-work your attitude - "because you're worth it" ;-)
Personally I do not like Visual Studio.NET very much though C# and .Net is very interesting. My major complaints are its refactoring support, syntax highlighting, auto completion, UI builder and many other minor things. So I think one cannot simply say "VS.NET is the best IDE". However, I can very well understand why there are so many Windows developers out there and why they do not switch:
1. Market share
2. Vision and future (the x86 plattform has a huge well documented roadmap with lots of new features: Longhorn, Avalon, Indigo, Dual-Core CPUs, etc.). And Apple? Apple is all about secretiveness. That's a reason why some companies in Europe switched to the Windows world because decision makers love security of investment.
3. Games (even programmers like to play games and the Mac really sucks hard when it comes to OpenGL performance. At least Apple posted a job offering on the OpenGL-mailinglist in order to improve the crappy performance)
4. Java support (Java on the mac is still behind the Windows world in terms of UI performance. And what about JDK 1.5?)
5. Corporate stuff (Office integration, SQL-Server, Sharepoint, BizzTalk etc. etc.)
Leonya: If you can afford buying expensive software like Visio and Dreamweaver, I can't really follow the economics argument. If you further buy into the Microsoft stack of development tools, such as SQL Server, Visual Studio, and the likes, we're even further removed from a sensible argument.
Microsoft Visual Studio .NET Professional alone sells for just about $1000. Dreamweaver is $400. Visio is about $400 too.
David: The economics argument with regards to tools is not a good one to bring up, MS has what they call the ISV Empower program for small startups. Through a fee of roughly US$300, you get access to their entire product line including mulitple licenses for VS Studio (Enterprise Architect Edition), SQL Server, Office, Project, Visio etc. (It is a subscription to the MSDN Universal program).
We can debate the ethics behind this program, but the fact of the matter is that you can get all the MS Tools for a reasonable price ;-)
Another "peculiarity" of the local market (except high prices on Mac hardware :) is the abundance of pirated software. Of course, companies provide licensed software, but at home everybody uses warez. I use open source or freeware whenever possible (OpenOffice, Firefox, etc.) but for the rest, warez is the only way to go.
SciTE is a a nice text-editor, and it's better than TextMate in a few areas (e.g. WTF black background I can't change?!).
... but a couple of weeks ago my Dell broke down and I was stuck with a 12" PB for a weekend which totally convinced me Mac is the way to go. Only thing that bothers me is that Mac's are so damn slow it's not even funny. Sure it's great for people who only have a text-editor + some other small apps up but when you need Photoshop, Illustrator, text-editor, a couple of browsers, shells etc. up it starts showing that this machine needs a new CPU before it's even close to a G5 stationary.
Challenge by eyðun on March 30, 14:00
"...It's this attitude that I find hard to mentally link to the caring craftsman. The one that'll seek to write ever more beautiful code, seek ever more productive approaches, and invest enough soul in their work to make a difference..."
yada yada...
" It's the "whatever" [ehm... pragmatic?] attitude that gets to me.
David, really? :)
Challenge by FredB on March 30, 14:03
I can't agree with you more, David. A good worker must use the best tools. As I have the choice, I won't hire or work with someone who uses Windows, sorry.
Can't you understand that we have to endure windows dominance and constant "you don't use the normal platform" since... forever?
So, even if it's your turn now, it's still a fraction of what we heard. kudos to David to tell the truth.
I guess it's the same people that were bashing us about our mac "eye candy toys" two years ago that still can't accept the truth now: In 2005 more than ever, It's stupid to use windows by choice.Period.
Challenge by Uffe on March 30, 14:13
"I would have a hard time imagining hiring a programmer who was still on Windows"
Clever statement. Not.
Great programmers are made by talent, not by the tools and platform they choose, damn it. Saying anything remotely otherwise is incredibly ignorant.
"It's this attitude that I find hard to mentally link to the caring craftsman. The one that'll seek to write ever more beautiful code, seek ever more productive approaches, and invest enough soul in their work to make a difference."
Like I said, talent. I really don't see any link between the above and the choice of tools.
FredB: I find your attidude unprofessional, and I am glad not to be working on any projects with you. I find platform zealots of any kind to be repulsive, whether they preach Windows, Linux, OSX, AmigaOS or whatever.
I choose the tools that are appropriate for the job at hand. If the tool happens to be Windows, then so be it. I am happily working together with people using Windows, OSX and various other Un*x flavours without problems.
At the moment my client is a telco provider, and I write software for network monitoring. The clients network management stations are running Win2K, hence my toolset at the moment is Visual C++ and assorted network libraries.
It doesn't mean that I think Windows and Visual C++ are the greatest tool on earth. I edit my source code in VIM, and I do software builds using SCons, but had I adopted a religious stance on platform choice, I wouldn't be working on my current project.
Of course in an ideal world I would be working on my own pet projects using my favorite tools and my favorite platform, but I have mouths to feed, so reality interferes. And guess what, in my world reality wins.
Challenge by Anonymous on March 30, 14:53
Of course the choice of tools is a good indicator of your interests and skills. I have still to meet a Windows programmer that impressed me with his skills, OTOH they do know what's going on when it comes to warez, games, proprietary P2P solutions, and have never heard of a shell or any of the productivity tools which are so loved by programmers on *nix.
There are exceptions, but any résumé that says Windows should be read twice -- of course being a Mac user is not a free pass, and today, even Linux isn't, but at least it doesn't give you negative points.
"I have still to meet a Windows programmer that impressed me with his skills..."
Another piece of BS. Platform choice has nothing in common with intelligence, person's skills and knowledge. I know tons of people who have the qualities you described.
It seems that we have a broad representation of the different positions now as I can see that recycling has already started to appear. If you have something to add, please do blog your comments.
I find the some of the sentiments expressed here amusing (particularly with regards to hiring people), and I can't help but wondering how many of you are actually in a position to read the résumés you are referring to.
I don't find broad experience to be an impediment to hiring someone (on the contrary), but then again maybe I am getting old.
I don't think there is anything particularly strange about David's statement, that he would have a hard time hiring a person who still uses Windows.
David and 37signals are not a BigCo that don't give a shit about who their employees are, they're a small outfit and in small outfits _who_ you are is just as important, or even more important, than raw skill. Skills can be developed, new talents can be learnt. But if you don't "connect" with your co-workers, or share the passions that their company culture is all about, that's an obstacle much harder to overcome.
To "connect", in this case, is being passionate about the web, open source, simple effective user interfaces, elegant design, and so forth. I agree with David that if you use Windows you probably just don't care about these things enough to be a good fit for them, given that Windows represents none of those values. If you choose Windows you choose poor design and bad user interfaces. Why? Because you think poor design and bad user interfaces are "good enough"? How the hell could you (or anyone) possibly belong at 37signals with an attitude like that?