Over the last 20 years, my primary computing environment has gone from Windows 3.1, to Mac OS 6/7/8/9, to Windows for about a decade, and then back to a Mac a couple of years ago. Recently, I switched to using a Linux desktop as my primary computer. I can’t say that there’s a dramatic reason why I switched (it’s not some political statement about free and open source software); I just wanted to use some hardware that was impractical to get from Apple.
Something crazy happened when I switched: absolutely nothing changed.
I basically used three programs on the Mac: Google Chrome (web browsing), iTerm (terminal), and Adium (IM). Now, I use Google Chrome (web browsing), Terminator (terminal), and Empathy (IM). Switching was a matter of copying over a couple of directories and configuration files and connecting Chrome and Dropbox to sync. When I wanted to do some real work, getting my development environment running for our applications was just as easy as on a Mac.
Perhaps surprisingly to some people, Linux hardware support has improved to the point that everything worked perfectly out of the box, just like on a Mac. In a shift from what David saw a few years ago, and despite being largely panned by critics, I find the stock interface in Ubuntu 11.10 to be just as nice as Mac OS X Lion.
I’m just as productive on Linux as I was on OS X, and there’s no reason you couldn’t be too if you wanted or needed to switch. All you need these days to build great things is a browser, a text editor, and the programming language or tool of your choice. As long as it works for you, it really doesn’t matter whether you build your killer social-media-photo-sharing-Facebook-tweeting app on OS X, Linux, or Windows.
Gareth
on 10 Jan 12The problem I find with Linux is that the GUI based tools aren’t as good. I (unashamedly) use TextMate, Gitx and Sequal Pro rather than using the command line. I find I can’t replicate that on Linux just yet.
Matt Carey
on 10 Jan 12Controversial!
Justin Finkelstein
on 10 Jan 12I switched from Windows to Linux a long time ago, to make it easier to test and cut code on a machine that’s a little closer to our hosting environment.
@Gareth I’d recommend Geany as an editor; it’s remarkably good and very quick.
hitesh
on 10 Jan 12Agree completely – back and forth from ubuntu/mac is seamless for me (and gedit is pretty fantastic).
And soon Android & IOS & will give me those things too, I hope.
Jake Scott
on 10 Jan 12@Gareth have you tried http://www.sublimetext.com/2 for a text editor? Its pretty nice and runs on all platforms.
Gareth
on 10 Jan 12In all fairness there are decent enough editors for Linux. The ‘support tools’ are lacking (last time I looked) though
Eric
on 10 Jan 12I still prefer OSX on Apple hardware, but on non Apple hardware Linux is much preferable, quicker, and easier to install. As for distributions I’ve recently discovered Mint as a nice mix of features and usability.
MR
on 10 Jan 12Judging by the focus on text editors I’m curious – Am I one of the few that still uses an IDE? I can understand not using one for certain languages, but for Java development I find that having code complete and dependency management built in makes things way easier. And that’s before I mention real-time debugging.
Not that I love bulky IDEs or anything, it just seems like only using a text editor could be a productivity sink in some cases.
Dan Grossman
on 10 Jan 12Wasn’t it this very blog that said 37Signals would not hire someone not using a Mac because it meant you didn’t care about your tools?
Dmitry Nikolaev
on 10 Jan 12Wonderful article!
Daryl
on 10 Jan 12I agree that in the web-development world your OS is generally irrelevant. Exceptions occur if you need to deal with Microsoft .NET and IIS, or developing an iOS app front-end.
invalid_arg
on 10 Jan 12Your operating system does matter if your a dotNET developer… Unfortunately!
Rockiger
on 10 Jan 12Yeah Ubuntu has come a long way. As the articles says, the three big OSes have more in commen than differences. At the end of the day it’s a matter of taste.
You can even buy decent Laptop hardware with Ubuntu these days.
@Gareth What support tools do you mean? Development tools? Probably hard to beat Linux on this site.
Terry Sutton
on 10 Jan 12The switch from Mac to Ubuntu isn’t that jarring. But move to Windows? I honestly don’t know how people keep from getting overcome with rage while using it.
Every time you click the mouse you get a popup. I just find that really hard to take.
Dan Grossman
on 10 Jan 12@Terry What does that mean? Clicking a mouse does not normally produce a popup anywhere on the Windows desktop or in common Windows apps (like browsers, explorer)...
Gareth
on 10 Jan 12@Rockiger a git GUI (I use GitX) and a mysql GUI (I use Sequel Pro) mainly. While I’m using a laptop I’ll be on OS X until someone can compete with an Air, but if I wanted a powerful desktop machine I’d have to think hard about not using Linux if I had the aforementioned apps.
Eric Anderson
on 10 Jan 12I have felt this way about Linux since I started using it back in college (over 10-15 years ago). I am also not politically motivated, just pragmatic.
I have always felt that Linux had decent enough (not necessarily best) desktop. That combined with having some of the best development tools made me wonder does Mac or Windows really have anything to offer me. Anytime I am on a Windows machine I find myself crippled because the development tools suffer (unless you are willing to constantly pay money for the latest MS dev tools and still get sub-standard products). Anytime I am on Mac I find myself saying “wow, this is pretty, but I’m still using the same tools that Mac inherited from the Unix community, so why pay so much just for pretty”.
Maybe I’m just a cheapskate. But I’ve been looking at Mac and Windows for the last 15 years and yet to see anything that really makes me jealous and I have yet to understand why developers have been moving to Mac is waves (especially in the Ruby community). Is there something I am missing other than “wow, that is pretty”?
Martin
on 10 Jan 12For me it doesn’t matter if I work on Mac or Linux as it is just some kind of Unix with familiar tools. But working on Windows had been a pain for the past year and I am am more than happy to be back home. And Cygwin is no solution. The only good thing was that Git got a native windows port…
Ben
on 10 Jan 12@DanGrossman yes, and nothing ever changes in the world of computing. ;)
Joe Larson
on 10 Jan 12I have used various Linux flavors in VMs or on extra PCs for a long time, and Ubuntu has been excellent for the past few years IMHO.
Meanwhile, switched from Windows to Mac about a year ago at work (though I still use Windows VMs and machines for testing and some types of dev). We recently bought my daughter a new Windows laptop. Once I got it all set up and running it was fine but the out of the box experience was horrible—still so much crapware installed, update cycle hell (update this, restart, new updates, install that, more updates), so many hassles with configuration, etc… Meanwhile OSX is turnkey magic. And once Ubuntu is installed it is almost as quick to get going.
If I were MS I would focus on out of the box experience—why would they want the first day with one of their systems to be miserable? I know this is a bit off the main point of this post, but worth mentioning.
B
on 10 Jan 12What about replacements (moving from OS X to Linux) such as Omni Graffle, Graphsketcher (good looking diagrams and graphs for the rest of us), or things such as Mendeley Desktop or Papers to organise your research papers or CarbonCopyCloner and so on? Does Linux offer any good replacements for all these nice little OS X things that focus on a few useful things?
Alessandro Bahgat
on 10 Jan 12I tend to agree with this approach. I own a Mac laptop and a Linux desktop and I can switch from one to the other without any hassle. For several reasons, I am forced to use Windows on my work laptop and let me say that I would never choose to use a Windows machine as my primary development box. The lack of a strong shell (even if you install cygwin) and a proper package management system are two show-stoppers for me.
Jim Scott
on 10 Jan 12I’ve developed web applications on Windows for many, many years. I switched to Ubuntu about a year ago. I was pleasantly surprised that I could be as or more productive in Linux. Still have to use VM for testing on IE, and a few other applications, but all in all pretty painless.
I even learned Gimp to do things I used to do on Photo Shop.
Tristan Juricek
on 10 Jan 12Really, the “switch” in place here for devs is using a terminal-based system versus something that plays inside the windowing environment. Once I got tmux down, going from using TextMate and Sublime Edit back to vim was really nice. All I really want is a smarter tab completion system in bash.
If you use Linux like this, chances are, you can also “switch” to an iPad without much fuss. If you’re using an IDE or a “fat client” desktop-style editor, the chances of you switching to a tablet (or phone) is probably limited.
Ryan Williams
on 10 Jan 12When did 37signals abandon the “we only hire people who use Macs” policy?
Tim Krajcar
on 10 Jan 12@Tristan: “bash with smarter tab completion” is pretty much the exact reason I now use zsh. See https://github.com/robbyrussell/oh-my-zsh for a good start.
This post made me chuckle. The terminal in OS X (linux derivative) is similar to the terminal in Ubuntu (linux derivative)? You don’t say! Amazing.
Bob Stewart
on 10 Jan 12If you just use browser, terminal and IM then of course it does not matter (assuming you can get along ok with cygwin under windows). The problem is if you need to use XCode (iOS development) or Visual Studio (.NET development) then you are pretty much stuck. I’d personally love to use Linux full time (and all development with terminal and VIM). But in fact I use Mac (for XCode) and VMWare (running Windows 7, for VS .NET development). Otherwise all personal and other projects are Mac iTerm + VIM.
Ryan
on 10 Jan 12“I’m just as productive on Linux as I was on OS X, and there’s no reason you couldn’t be too if you wanted or needed to switch. “
Sure there is: I am not you! My needs are different.
Every now and then I have to capture a video stream, edit it, and export it. This is likely quite possible on Linux. I am not so sure I want to go through the trouble finding, installing, and learning a new video editing system, and hope Linux handles this task as well as it handles terminal emulation, IM, and web browsing.
Ditto with photo editing, opening complex Microsoft Word files from my publisher, and syncing OmniFocus tasks to my iPhone.
It’s nice that this works for you but silly for you to generalize the experience so broadly.
Bob Martens
on 10 Jan 12I’m curious on the hardware you are now using. I’ve found that desktop hardware is usually MUCH easier to get working properly than mobile stuff.
Just curious if you would be willing to post what hardware you are currently using. Thanks!
BS
on 10 Jan 12Agreed! I have come to the conclusion that the “problems” people have with one over the other is usually attributed to ignorance and laziness.
Giles Bowkett
on 10 Jan 12I basically agree, but with two caveats. First, you’re doing technical work; if you worked in video or music, you’d probably be saying something very different. Second, if you find Ubuntu’s stock interface equivalent to OS X, I suspect you’ve never studied typography. That probably sounds pretty hoity-toity but I think the probability of it being accurate is very, very high. And again, running a similar risk, I’m going to guess you haven’t studied color theory either. That’s fine, because not everybody has to, but UI designers should, and the ones at Apple obviously have. You can tell by looking at their work, if you know what to look for, but if you don’t, you can tell by looking at their sales.
Basically, I agree that Ubuntu’s easily good enough for working with code and data, but not about the UI being equally good.
JD
on 10 Jan 12I will be impressed once you go iOS only.
Geoffrey Bernardo Van Wyk
on 10 Jan 12Ryan said: “it’s not some political statement about free and open source software”
Free and open source software is not motivated by politics, but by a development strategy to get as many people as possible to find and fix bugs.
Free software is politically motivated, by the love for freedom and the hate for slavery. If freedom matters to a person, it will matter to him whether he uses Linux, Microsoft or Apple.
Scott B
on 10 Jan 12The title is missing “(...unless it does.)” or “(...for my particular situation.)”
As per usual, I admire (and occasionally envy) the religious adherence to the 37signals creed, apply real world caveats, and move on.
Fred S
on 10 Jan 12How’s the email client? Or do you just use a browser?
RDO
on 10 Jan 12Glad to see you guys preaching and encouraging pragmatism. To this day, I’ve never understood the zeal many people adhere to their fav OS platform with. Good on you.
NL
on 10 Jan 12@Fred S – I have Thunderbird set up, but I really only use it for writing long replies. I always keep whatever my mail program is closed and check it on my phone very occasionally rather than constantly being distracted. In that respect, it’s basically the same as when I used a Mac.
Jim
on 10 Jan 12If you want to write real native desktop apps for both your Windows and your Mac systems (Linux on the way), look no farther then Embarcadero Delphi! In the latest version yyou can have one source code and build an application for Windows/iOS/OSx. And within the next year they should be adding Linux and Android to that list. It is truly a fantastic development environment.
Adam Bourg
on 10 Jan 12For me, I’m buying a new Mac today. The number one reason why I go Mac is: Stability. Before I bought this Mac I’m currently using (Which I’ve had for 4 years), I was using Windows PCs. I’d always get some bugs or trouble, but with the Mac the platform is stable, the customer support is the best I have ever seen in the industry.
Justin
on 10 Jan 12@MR I do a lot of Java coding as well and doing that in a Terminal is pretty brutal. Mostly because package names map to directories. You end up doing a LOT of cd’ing to get around in a terminal.
But if you use NERDTree, in VIM, it’s a lot easier.
Getting back to the article though, Eclipse is very similar on Windows, Linux and Mac.. So even if you stick to your IDE this article still applies.
Fred
on 10 Jan 12It all comes down to what you are willing/have to pay for any OS, in terms of usability they don’t differ much: Windows has Games, Linux is powerful from the command line through the core, MacOS has eyecandy. But you can reach about the same level of productivity on all of them. So in the end it’s price/benefit ratio and perhaps political reasons (if you want to consider it). Here Linux clearly wins.
MattO
on 10 Jan 12@MR I use Eclipse for almost everything.
The only tool or environmental constraints I’ve found is running an Apache server in Windows. Its possible, just not as easy as installing all that stuff through the repository manager. I’ve never tried running Apache on a Mac though.
I use openSUSE, but have installed Mint on another computer recently and really liked it. One of the tools I have used a ton of in the past year is Gnome Do. It’s a LaunchBar equivalent.
Adam
on 10 Jan 12Duuuuuuuuuuuuude. There’s no way in hell you could be productive on Ubuntu 11.10. The unity interface is shit.
Rob
on 10 Jan 12I was just having a discussion about this very same thing. I went from Windows to FreeBSD and my workflow is the same, if not better. (I’d say better.)
Fred
on 10 Jan 12I bet if you would compare the lines of code people have been written using emacs or vi in the 80s and 90s with nothing but a bare XWindow system – if not using only consoles – you’d see that the number has not increased by a significant amount – if at all.
Desktop environments are clearly overrated and battles over them do more harm then good. Normally I only use ALT-Tab, ALT, Run and some short cuts to navigate around different windows. Many “modern” features of DEs only act as a distraction instead of actually helping. I’m fine with using GNOME3 for the moment, because it does not get in the way of my work, but I don’t mind using anything else, as long as the very basic features are there.
alex
on 10 Jan 12“I find the stock interface in Ubuntu 11.10 to be just as nice as Mac OS X Lion”
The cynic in me says that this is more a symptom of how they screwed the pooch with Lion, than praise for Ubuntu.
Roland Oth
on 10 Jan 12The best Software on Windows is Putty, so you can connect to your Linux box and ssh from there onto your Mac. You’ll prolly need to get Chrome tho – to have a webkit Browser.
Michael Long
on 10 Jan 12”... and the programming language or tool of your choice.”
Xcode?
George
on 10 Jan 12@alex
“this is more a symptom of how they screwed the pooch with Lion, than praise for Ubuntu”
Uh, right…
http://img.tgdaily.com/files/images/stories/article_images/apple/apple_leopard_desktop.jpg
http://img.tgdaily.com/files/images/stories/article_images/apple/apple_leopard_desktop.jpg
David Fisher
on 10 Jan 12There’s really only one thing that keeps me from using Linux fulltime- TextMate.
I’ve tried learning Vim and Emacs, but they just don’t fit in my head in the same way. Yes, they are awesome, but I really dig Textmate.
naresh
on 10 Jan 12why flash player on Ubuntu is buggy. it can play videos but there is always this difference. its not as good as it on windows or mac. Why?
this is the question i faced when i suggest/help people to change to Ubuntu.
Chris Funk
on 10 Jan 12Wish Ubuntu ran xcode!
Ivan V.
on 10 Jan 12It does matter! Fine if you use OSX or Linux, but every hour you spend on Windows a kitten dies!
I spent many many years on Windows, and I so fucking loathe when someone asks me how to do or setup x or y on it… I don’t even have a clue anymore :P
Dave
on 10 Jan 12I agree with Ryan and others with similar sentiment. I have never seen 37signals be so wrong in a blog post before. More surprising it’s coming from the science / research / analyst guy. Everyone get’s a mulligan, but I can’t imagine how this box, closed bubble like thinking fits your analyst role. Even if you live in the box that is making killer “social-media-photo-sharing-Facebook-tweeting app”, you still need xcode to build an ios app, despite having tools like phonegap. If you want to use the most sophisticated game engines you still have to use Windows. One of the most advance and top selling ios games was made in a Windows operating environment, odd but true. If you work in music, video, photography the best tools are on Windows or OSX. If you work in the Auto industry or Aerospace industry you are more than likely using Oracle system (they bought Sun Microsystem).
Scott
on 11 Jan 12two words: Xcode 4
Mario
on 11 Jan 12If you work like me on Video Editing, Graphic Design, Web Design and photography… Linux is not really an option… but for most people it works wonderfully… I’m a Mac fanboy anyway… :)
Raving Genius
on 11 Jan 12The only issues I’ve ever had have been traced back to lack of third-party support. This includes (but is not limited to) missing drivers for the touchpad (couldn’t scroll), sound card (no sound), suspend and hibernate not working, nVidea drivers refusing to install correctly. I would never buy another machine from this manufacturer again.
However even if every piece of hardware worked flawlessly, I still cannot get things like GoToMeeting to work. Pair programming is also difficult. I’ve been happily using Linux as my only OS for over seven years, but I think my next machine will be a MacBook Pro, unfortunately.
Enkay
on 11 Jan 12Am I the only one who feels Windows 7 is the most productive out of all three. For example when I’m developing I usually have a browser open, text editor open, and few other windows. I’m on a 27” screen. In windows 7 I can quickly snap the windows side by side. I find it so cumbersome to resize and arrange windows in a Mac. Plus windows 7 jump lists let me quickly open my pinned files or folders.
I’ve tried replicating this in fedora, ubuntu, Mac but I always get frustrated and come back to windows 7.
Btw I use the same Programs on all – chrome, sublime text 2, Dropbox.
Enkay
on 11 Jan 12Plus I hate how Mac doesnt display all windows, if I open multiple instances of chrome and minimize them, then when I click on the chrome icon it always shows me one window. I have to right click and choose to show all windows. Windows management just plain sucks in Mac.
Michael
on 11 Jan 12@Enkay. Yeah Aero Snap is awesome. Though I use a program called Cinch and I have the best of both worlds. Cinch + Mission Control made me not miss Windows as much. Hope this helps. Here is the link – http://www.macupdate.com/app/mac/33161/cinch
Chris
on 11 Jan 12Recently working on a project for the META-NET project at the DFKI, where we created a LaTeX cls for bilingual whitepapers, producing them out of LaTeX in different versions for print and web (https://github.com/imeos/metanetpaper) in 33 languages, I again had the pleasure to work with people of using osx, linux and windows. It showed that the users of macs still worked more seamless and time-saving than any colleagues with a linux or even a windows machine.
I feel that with OSX, you still have the slightly better tools, UI and carefreeness. Sadly many important tools, especially for pre-press aren’t available on Linux yet or don’t have genuine pendants.
Also for my personal taste, the quality and pricing of the laptop-hardware from Apple is still unmatched, especially considering the Macbook Air.
But i think all this might change in a foreseeable future to the advantage of Linux.
Nic
on 11 Jan 12@Giles Bowkett – Eric Anderson’s “pretty stuff”? I do technical work. The software I use requires a Windows desktop, and I’ll happy with that.
@Gareth –
...Acer S seriesBob
on 11 Jan 12Try Pinguy OS
mau
on 11 Jan 12Hope your Boss doesn’t read this!
apexwm
on 11 Jan 12A great example in your article that I wish more people would take into consideration. You are correct in that GNU/Linux is complete. It comes with everything you need to get started. Yes of course there can be some niche applications but Wine is constantly improving where it can run a majority of applications right out of the box. GNU/Linux is free as in freedom, and free as in cost, and once you migrate you never have to go back to those proprietary operating systems that milk everything they can out of the consumer. I’ve written about this phenomenon as well about changing operating systems is not an issue as it once was:
http://www.zdnet.co.uk/blogs/the-open-source-revolution-10014902/why-the-operating-system-is-becoming-irrelevant-10025075/
MacFree
on 11 Jan 12I’ve always believed Macs were overrated. They are great for lazy people with money to burn who care more about brand cache than frugality.
While I haven’t switched to Linux (I’m using Windows XP and 7), I use open source tools for image editing (Paint.net), audio editing (Audacity), and vector design (Inkscape). I even have OpenOffice for word processing, slide shows, and spreadsheets.
All are simple to use (relative to the entrenched software) and comparable in features and capabilities (at least 90% crossover in features, maybe 95%).
All the desktop platforms use the same CPUs, hard drives, video cards, and RAM. Anyone who still insists there is an inherent advantage with a Mac is way behind the times.
Unless you want a pretty case and that distinctive logo, there is no reason to pay the steep premium for a Mac.
Mike
on 11 Jan 12What’s even more fascinating is the lack of flame-war in the comments. Typically, we’d see a Mac-vs.Pc war within 15 comments.
ploogman
on 11 Jan 12Great post because not everyone can afford a Mac right away and Linux and BSD Unix are good options with full *nix shells to get people started. Certainly great for Rails development and really any web development. Of course, not so good for OS X or iOS development or Windows development, but it depends on what you need. Word processing, Firefox, Thunderbird, digital photography, graphics tools, Linux has it all just fine.
There is a learning curve with all systems and recent Linux desktops are pretty good. I agree that the new Ubuntu GUI is good and I have switched some Windows customers to it that had minimal computer skills – bye bye virus and malware.
For those looking for Textmate on Linux/Unix, here is something that will get you pretty close if you also activate snippets: http://blog.sudobits.com/2011/04/02/textmate-for-ubuntu-linux/
Also, Textmate is based on emacs and some other text editors that started as Unix tools to begin with. In other words, you can get Textmate functionality on Unix/Linux with various existing programs and some configuration.
GeeIWonder
on 11 Jan 12They’re all a variant of Unix by now, so no big surprise. Libraries can still be a hassle for development unfortunately.
With the advent of tolerable LTS versions, anyone running 32-bit OS on remotely modern hardware is out of their mind. Switch now.
viGeek
on 11 Jan 12Started out with Windows 3.1. Moved to FreeBSD in 2000, moved to Linux in 2002. I haven’t had a Windows system for years (outside of maybe a VM).
I started playing around with OS X a few years ago and now use OS X as my general desktop environment. Linux for development/servers etc.
Moving from Linux – > OS X was very easy. The GUI is different but the underlying technology (BSD-based) based kind of gives you the best of both worlds.
I refuse to use Windows, it serves no purpose to me, only headaches.
Ian
on 12 Jan 12If anyone intends to make a living from IT, it doesn’t hurt to have good coverage of a number of operating systems and hardware combos – while I would love the world to be Mac and Ubuntu based, the cold hard reality is that there is a ton of Windows based systems in business, and if you choose to ignore that, you may be dismissing an avenue of revenue.
Like everyone else, I have my personal favourites – but when it comes to earning a living, I will work with whatever gets the jobs done, and whatever the working environment dictates.
Jason Fowler
on 13 Jan 12I use windows 7, Mac OS X 10.4 and Ubuntu 10.04 side by side, and don’t miss a beat between them, as they all run Eclipse, and I use the command line for GIT… OS Agnostic FTW!
Ahmed Ali
on 13 Jan 12Linux has come a very long way. I have been using Ubuntu since version 8 and loved it over XP. I recently moved to the mac which does aww you with the trackpad tricks, but as you said my programs didn’t change from Chrome, Terminal and Wing IDE. I find windows 7 more bareable than the older versions, but the usability of the terminal is what keeps me to unixy machines.
carlivar
on 13 Jan 12I now prefer Linux Mint to Ubuntu. Same thing under the covers but a better UI.
Of course if you’re running primarily 3 programs, the UI doesn’t matter a whole lot.
Regarding text editor, support redcar! It’s very similar to TextMate but open source.
Peaches
on 13 Jan 12Windows. No GheyFanBooiShiate.
Ryan
on 14 Jan 12It seems you had a mac angel on one shoulder and a linux angel on the other. I’ve switched to mac from windows, but I’ve always wanted to try out linux.
This discussion is closed.