Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've worked on both Mac and Windows for awhile. However, I'm still having a hard time understanding why programmers enthusiastically choose Mac OS X over Windows and Linux?

I know that there are programmers who prefer Windows and Linux, but I'm asking the programmers who would just use Mac OS X and nothing else, because they think Mac OS X is the greatest fit for programmers.

Some might argue that Mac OS X got the beautiful UI and is nix based, but Linux can do that. Although Windows is not nix based, you can pretty much develop on any platform or language, except Cocoa/Objective-C.

Is it the applications that are only available on Mac OS X? Does that really make it worth it?
Is it to develop iPhone apps?
Is it because you need to upgrade Windows every 2 years (less backwards compatible)?

I understand why people, who are working in multimedia/entertainment industry, would use Mac OS X. However, I don't see what strong merits Mac OS X has over Windows. If you develop daily on Mac and prefer Mac over anything else, can you give me a merit that Mac has over Windows/Linux? Maybe something you can do on Mac that cannot be done in Windows/Linux with the same level of ease?

I'm not trying to do another Mac vs. Windows here. I tried to find things that can be done on Mac but not on Windows with the same level of ease, but I couldn't. So, I'm asking for some help.

share

locked by maple_shaft Dec 24 '13 at 13:41

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by ChrisF Sep 2 '11 at 15:12

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

118  
Do programmers enthusiastically choose Mac OS X over Windows and Linux? I'm not sure about the premise of the question, since I've never known one that did. The only programmers I know who use OS X are those developing iPhone apps. –  Carson63000 Feb 25 '11 at 0:36
17  
@Carson63000: There have been a lot of former Linux users switching to Mac OS X in the past 5 years or so. I also happen to be a programmer who uses OS X, and I'm not an iPhone developer. (Granted I've been using Macs for over 15 years, but still.) –  mipadi Feb 25 '11 at 1:06
28  
@Carson63000: Every time I go to developer conference or hackathons, I only see macbooks. Probably 5 macbooks to 1 windows laptop (rarely see linux nowadays). These events aren't necessarily for developing the next iPhone or Mac apps. Even when I go to Android conference, all I see is macbook. I ask people at those events why they use macbooks, and most of them usually think it's just "cool" to have macbooks or don't know that Windows can do the same thing or even better. I get excited when I see Linux, though. Linux on lenovo laptops ftw! –  codingbear Feb 25 '11 at 1:51
26  
@codingbear: Perhaps the people who end up at conferences are more often the marketing, or more customer-orientated staff who tend to have the "cool" stuff. Most coders I know hate Macs, some don't, but there are fashion victims in many walks of life. –  Orbling Feb 25 '11 at 2:08
8  
-1. Reading your comments on some of the answers, I don't get the feeling that any answer would be acceptable to you, so why did you ask the question? –  jprete Feb 25 '11 at 6:19

24 Answers 24

I've been using MacOS X for about half a year on my dev machine and I definitely wound not recommend it to developer, other than iPhone/OSX developers (they don't have a choice, do they?).

I've replaced OSX with Ubuntu. Apparently I'm not the only one switching from OSX back to Linux.

All the tools you take for granted in Linux are either non-existent or painful to get to work on OSX:

  • installing open source software: if you're lucky there's MacPort for it. Installing MacPorts feels like Linux 15 years ago. It downloads the package and compiles it. No binary packages. Want Qt? Reserve 5 hours for compilation. If you're not lucky, there is no MacPort for software you're looking for. Then you have to download source and compile it (welcome to 1980's). Sometimes compilation instructions for OSX 10.5 will work on 10.6, sometimes they won't.
  • to make things more interesting, there are other alternatives to MacPorts, like Homebrew and previously Fink. They are not compatible at all with each other, and using more than one of them at time guarantees total chaos and rendering your OSS unusable.
  • multi-screen support: hey, looking for your IDE's menu? it's on main screen, not the one you're working on. You can get lame "solution" for that, called SecondBar. It will be ugly, unresponsive and at times will display bunch of "N/A" instead of menu. But it's OSX so who'd care about ergonomy when you can have eyecandy. I mean, if you'd like interface designed about ppl who care about HCI, you'd choose Linux or Win7 anyway. (Update: this seems to be finally fixed in Mavericks, even though last 2 years I've been told numerous times that it would contradict "the Mac way").
  • decent terminal: you have few choices, the default Terminal.app, the iTerm and dozen others. None of them has full feature set (comparing to default consoles in Linux), each of them has at least one of the problems (like messed up line wrapping, no tab support or problems with UTF-8).
  • GCC 4.2 is included... but wait, why doesn't it understand GCC 4.2 x86_64 flags like -march=native? As pointed by Jano, it's a bug. OSX only bug, to be exact. But on OSX, unlike on Linux, you cannot expect Apple to actually backport the fix and release it in software update. So you're back to square one — OSX is a niche system, and it makes your life as developer harder, while mainstream systems, like Linux, make it easier.
  • any software that uses X11? OSX now has X11 support. With look & feel totally inconsistent with the rest of the UI. Fugly.
  • want to see normal UNIX directory structure in Finder? No way, that's like magic, a normal user cannot be allowed to see that... You can of course activate that with few cryptic commands executed from CLI. I mean, having "show hidden files" checkbox like in Windows would be just too confusing for macusers...
  • up to date Java — sorry, you can't have that, Apple hates Java and will do anything to prove it inferior technology. Which means keeping it obsolete and not applying any updates. Even if it means exposing their users to trojans.
  • "security? we don't need no stinking security!". MacOS X is the least secure of all mainstream OSes (including home editions of Windows). It has fallen victim of hackers year, after year, after year and it's still the case. Also the myth of OSX not having viruses is not true for at least 5 years now. And it doesn't get better for third party products either:

Mac users running Skype are vulnerable to self-propagating exploits that allow an attacker to gain unfettered system access [...] Skype's other clients, e.g. Windows and Linux, are not susceptible to this vulnerability.

Update: OSX's security seems to go from bad to worse

With the latest Lion security update, Mac OS X 10.7.3, Apple has accidentally turned on a debug log file outside of the encrypted area that stores the user’s password in clear text.

share
5  
@philosodad: inaccurate? what's inaccurate about fact, that application's menu is on the "main" screen, instead of being on the same screen on which application is open? And no, I don't want to switch main screen each time I switch application, I'm not into that kind of "thinking different". –  vartec Apr 17 '11 at 15:54
12  
@vartec: there are several things that are inaccurate in your post. Terminal does not have the flaws you claim it does. MacPorts is not your only choice for OS software (much OS software has .dmg files available, for example, and there's also homebrew). Your link to a bug that you claim won't be fixed shows the bug as resolved. You can show hidden folders with a simple flag change and see your structure, or you can open /var from the terminal and browse in the finder. And the fact that security experts want a mac (which is what Pwn2Own measures) doesn't actually say anything about security. –  philosodad Apr 17 '11 at 16:06
4  
@philosodad: sorry, you apparently can't tell between reality and "reality distortion field". As for the bug in GCC, yes it was resolved in GCC 4.3. Which isn't included in any software update for OSX 10.6. In other words, bug in OSX is still there. Homebrew? Sorry, we're not in 1990's. To see dir structure is "simple flag change"? More MacTruth, in reality it requires running cryptic commands from CLI. –  vartec Apr 17 '11 at 16:25
16  
@vartec I've read your many other comments on this question. Clearly, you have a personal bias against macs and anyone who doesn't hate the OS like you do. Basically, it boils down to this: what you wrote here is factually inaccurate on at least one count, and pretty much FUD on the security front. I don't think this discussion is productive, and I'm ending my participation here. The -1 stays for factual inaccuracy. –  philosodad Apr 18 '11 at 5:18
5  
@philosodad: "inability to write short scripts, use basic terminal commands, or install one of the many free automator apps that will put this a right-click away does not translate to a failure of the OS" funny, if I wouldn't know the context, I'd say it's a quote from some GNU fanboi from early 1990's. –  vartec Sep 2 '11 at 15:26

I see lots of MacBooks at developer conferences too. You know what the caveat is? You need to look at the operating system they are running. Almost every one of them that I see is running Windows 7 on those precious MacBooks. The reason - either to overpay for their hardware because it's cool, or to be able to run OSX those few times when Objective-C is needed and switching to windows for most of their other tasks

share
2  
Ah, anecdote, the enemy of evidence. –  philosodad Oct 26 '11 at 4:14

The fact is that it doesn't really matter.

If you really want to improve your productivity as a programmer, stop thinking about how cool is it to have the windows making all those fancy stuff and learn to use command-line tools, a great scripting language and a great editor.

You will see your productivity increase regardless of the OS you choose.

When you understand that those are the really useful tools you cannot live with, you'll forget about Mac OS fancy stuff and hype.

share

For people coming from linux and the college it looks just like Linux with a sexy UI.

Given enough years they start to understand the differences, and the drawbacks, and the complete arbitrariety of the many roadblocks the vendor is imposing on them and grow out of that. So, if they're enthusiastic, they're probably just a tad bit too young.

...and then there are those gamedev that just buy a Mac (and detract the cost off taxes) to run Windows on it and boot into MacOS only when they have to iPhone things up. But that's a small segment.

So the real question should be: "why young programmers straight out of college know no better than recommending OSX?"

...maybe because they got locked in with ObjC+Cocoa.

share

my workplace gave option of laptop: windows or mac. I chose mac but only because I mostly do linux dev and I prefer the unix-y environment (nice unix terminal and all). But I would pick a linux laptop if that was an option.

share

I am a private consultant who does applications for PC/MAC, rarely Linux. I also do some web programming with Wicket(java) and PHP. My Primary system is a Mac.

Why?

  1. I can quickly debug (Between Mac/Windows) (Mostly UI) Mac Apps and PC Apps (using Parallels), can't debug Mac Apps on Windows or Linux even with VMWARE.
  2. The *nix environment (Between .nix/Windows) is more like the servers so there is less tweaking when go to the staging.
  3. Corporate support (Between linux/mac) by software vendors, Adobe CS Suite, Office: I get some docs that only open correctly in MS, or Web Templates made in Dreamweaver.
  4. Hardware support(Between Linux/Mac) - I love linux, but I am more likely to get support for new hardware then trying to look up compatible printers and shopping from that.
  5. I use VI/TextMate/Netbeans, depends if its a quick change or major project so I don't think program choice is the reason I go Mac.

By saying that real programmers don't use Mac is short sighted. If I didn't write for Mac, would I use Mac? Maybe... Or maybe I'd use Linux. Like I said before, I need to work with Dreamweaver Templates from designers, and tweak PSD files and need new hardware support. I don't want to be using an unstable WINE install of CS5 or work in VMWARE all day long to use Linux. I also need to stay with an OS that closely matches the live environment (file paths, executables, services).

Windows Linux and Mac all have great points. For now, I am on a Mac.

share

Some might argue that Mac OS X got the beautiful UI and is nix based, but Linux can do that.

I hear this a lot. Let's see it with a recent example: Gnome Shell vs the iPad, can you see the differences?. First thing, the font on the Gnome Shell is W-T-F atrocious.

Then the icons. The four basic rules of graphic design are contrast, repetition, alignment, and proximity. They tell you basically if two elements are alike. When you look at the home screen of the Gnome Shell, apart from being crowded, you see wildly different icons with irregular shapes, so your mind gets busy wondering what are those and how they relate to each other.

This doesn't happen on the iPad because the elements are aligned on a grid, and they all have rounded corners and a gloss effect (applied by iOS). Obviously, they are elements of the same set, so your mind rests.

Just an example of similar functionality with different execution. This is important because design is not just a coat of paint, appearance is an integral part of the product itself. How you feel can not be separated from how you think (literally). Read Does Form Follow Function? about this.


A common misconception is that Macs are overpriced. This derives from comparing a low end PC with a Mac. If you think otherwise, really try to find a serious comparative on the Internet (here is one). Of course you will always be able to assemble a more powerful and cheaper PC yourself if that's your only criteria, but that's not what Apple is aiming for.

You don't buy a Mac because of its power (nothing matches a linux cluster for that). You buy it because there is an employee with a salary using it, and you want to avoid hardware/software issues. Apple values stability and ease of use over features or raw power. You can argue with this, but beyond personal experiences, they consistently come on top on consumer satisfaction in several countries.


Another virtue of Mac is that you can install nearly anything (KDE and Gnome included). Almost all linux software is available through macports packages. This is an important feature because you can't count on Apple to update Java, GNU software (march=native still bugged in Apple's GCC), and others. OpenGL is probably the more bleeding example since it depends on Apple drivers.

There are also popular desktop apps for all purposes, not only from Apple but from Adobe, Microsoft, Autodesk, and others. And no need for antivirus nonsense because you are on Unix.


Anyway, if you are on a budget, or if you prefer Windows, Linux, or a muffin toaster running emacs, go ahead. There isn't a best OS for everything and everyone.

share
3  
Just because it's UNIX doesn't mean it can't be compromised. A single clueless user wields the power of millions of mob programmers every time they type 'sudo' :) –  Tim Post Apr 14 '11 at 11:55
2  
sudo? pfft. power users run as root. –  Erik Apr 16 '11 at 4:27
2  
@David Weta Digital, effects for Avatar, uses linux, the company that did Tron Legacy used linux. While traditionally Adobe has released for Apple first, starting with CS3+ they've written their programs for Windows first. You still haven't answered what niche apple caters to according to you. I'm not 100% against their hardware, in fact I believe their hardware is perfectly fine and pretty, but their operating system is useless. –  dkuntz2 Apr 21 '11 at 15:33

Developers or not, experienced or not, intelligent or not most people will favor aesthetic beauty over substance. Macs are good but completely undeserving of the kind of support they have. It's clear that there are no compelling reasons to use a Mac over a PC running Linux or Windows but people try extremely hard to find some to justify buying one. I don't understand why people just don't say that they bought a Mac because it is pretty and fashionable. There's nothing wrong with that. I will even admit that I use Linux partly because its fashionable among developers. We all have a natural leaning towards what we believe is "cool".

share
5  
-1 It's anything but "clear" that there are no compelling reasons. I am not quite sure how you are so confident that you know what is in the head of buyers with whom you obviously don't share the same taste (you mention you use Linux). –  NickC Apr 5 '11 at 17:22
5  
Under this question, there are numerous good reasons to get a Mac that have nothing to do with fashion. There are also good reasons not to get one. Which are compelling is up to the individual. The reason people don't say they bought a Mac because it's pretty and fashionable is that those are not the usual reasons. (I prefer Linux because I feel more at home there. I always feel more like a visitor on MS Windows. The fact that it's fashionable among developers is nice, as it means there's more stuff available to me.) –  David Thornley Apr 5 '11 at 20:16
1  
+1 aesthetic beauty is definitely a compelling reason along with user experience. –  Korey Hinton Jun 26 '13 at 17:19

Less headaches when it comes to interpreted languages. Python, perl, ruby, and prolog come pre-installed (as they do on most *NIX systems). Much better UI than many Linux systems, imho. Headaches do occur when trying to build system-specific C programs (anyone tried building their own thread scheduler in C, in OS X? Not fun). On Windows, python, perl, and prolog are not pre-installed. Much of Windows comes with *ware you never use. That being said I don't use a lot of the pre-installed applications on Mac (I don't use Mail, Address Book, Font Book, Garageband, iPhoto, iDVD, iWeb, TextEdit, etc). Macs offer the flexibility of installing Windows, whereas the reverse is not true (no fault of MS... blame Apple, here).

In short, it offers many of the great programming utilities and languages found in Linux distros and leaves the headaches of Windows behind, all while providing a world-class, flexible, UI. But, I'd agree with you in questioning why people would prefer solely OS X for general programming. Not very good for that.

I tend to use whatever is at hand or the best tool for the job, be it Windows, OS X, or a flavor of Linux.

share
1  
Amen on your last point. Once you know what are the general tools for your development environment, I don't think there is too much difference. People figured out how to install Python, PHP, Sandbox-Apache, etc. on Windows with a great ease now that the advantage Mac OSX has doesn't look as great as before. –  codingbear Feb 25 '11 at 1:44
3  
Many of your reasons can be solved in a trivial amount of time on Windows though. Windows does come with a lot of crap-ware pre-installed, but I can just remove it. The interpreted languages you cite can be installed in a matter of minutes. I write a lot of C++ code, so I use VS on Windows. I don't have anything that even approaches VS in terms of quality and ease of use on the MacBook that I type this from. I like my Mac a lot, but I have a much easier time developing on Windows. –  Ed S. Feb 25 '11 at 2:48
3  
Don't use the preinstalled versions. They are obsolete, unpatched and have 'improvements', like annoying pop-up whenever they throw exception. For example Python's community recommendation is very clear: download Python, python.org/download/mac –  vartec Apr 7 '11 at 14:10

I've been developing on Macs since 1984, *nix since 1989, and Windows since 1990. Right now, as a consultant, I work on three paid projects, two on the Mac that take about half my time, and one on Linux that takes the other half.

Maybe something you can do on Mac that cannot be done in Windows/Linux with the same level of ease?

I'm not going to address Windows since I don't code for it much these days, but regarding Linux, uh, yeah. Almost everything is easier on the Mac. :-)

Let's take one small area: text editors. I'm an old GUI guy, don't do emacs at all, and know just enough vi to cope with small editing chores.

On Ubuntu, the major options are gedit, kate, and Eclipse. Kate is flaky (I've lost lots of data), Eclipse is very heavyweight, so I mostly stick with gedit. But it's like a programmer's version of MS Notepad: it just doesn't do much. And anything that's not built into the editor that you want to add, like ctags support, requires a lot of screwing around to install and configure and mess with on an ongoing basis.

On the Mac... holy cow! There are innumerable really great options, and they have all kinds of fantastic features. Xcode is powerful, and TextWrangler rocks as a free app that combines all the best features of kate and meld. And in the last ten years, neither has crashed in a way that lost my edits, which I can't say of either kate or gedit.

Actually, the text editors on Linux are so full of general suckitude that when I'm doing Linux development where the underlying libraries are also available on the Mac, I often write the code first on Mac OS X in Xcode, and then when it's working, move it to Linux and write a makefile for it.

I could go on and on. I tried dia for creating diagrams, and it's appalling. But OmniGraffle on the Mac is superb for creating diagrams.

I am a huge fan of open source, contribute to several projects, and have submitted a talk proposal for this summer's Ottawa Linux Symposium. But I also like maintaining my reputation as somebody who writes great code fast. So I want to use the most efficient development tools possible, and those often happen to be on the Mac.


To add a little bit... as a consultant, I get paid for being productive. Screwing around with flaky software comes out of my free time, which I'd rather use for other things, like hanging with my wife, doing martial arts, and learning Italian. My experience, working in parallel on the two platforms since 2006, has been that I spend less time screwing with things on the Mac than on Linux.

share
2  
1. vi rocks. If you have to use a mouse, go with gvim. 2. Editors on Mac... mmm I dunno. The suckitude seems to be here, not on Linux. Like you said Linux has several choices, gedit, nedit, kedit, kate, Eclipse, netbeans, etc. Mac has... Xcode, TextEdit, TextWrangler (I don't even like TextEdit and Wrangler). On Mac I use vi, on Linux I use vi, on Windows I use... Notepad++! –  aqua Feb 25 '11 at 4:02
2  
@aqua: gVim works great on Windows. Unless I'm using Visual Studio, I edit with gVim. –  David Thornley Feb 25 '11 at 16:20
3  
Sounds like somebody has never really tried to edit without a GUI. And since when does vim or emacs crash and lose my data...? Don't think I've ever had that happen... Anyway, -1 for asserting that Mac apps don't crash and Linux apps do. Thats just blatant FUD. –  alternative Apr 13 '11 at 0:27
1  
@mathepic: The question is about personal preferences, and I provided an honest, candid, and substantive answer based on decades of experience.These include achieving proficiency in vi in 1986. I don't require other people agree with my preferences - I'm not I'm sorry you think my factual statements and opinions are FUD, but so be it. It sounds to me like somebody –  Bob Murphy Apr 15 '11 at 17:16
1  
Dang online editor... here's what I meant to say... @mathepic: The question is about personal preferences, and I provided an honest, candid, and substantive answer based on decades of experience which include having become proficient in vi in 1986. Also, I don't criticize other people for having different personal preferences or try to convert them to mine, or accuse them of FUD for recounting factual experiences. It seems you do - you seem like a "my way or the highway" kinda guy. Remind me never to split a pizza with you; I doubt we could agree on the toppings. –  Bob Murphy Apr 15 '11 at 17:24

I'll be honest: I use a Macbook because I was learning Ruby on Rails and all the "cool kids" use OSX for Rails. That said, I enjoy the fact it's a mesh of a clean and intuitive UI with all the power of a Unix-based system (i.e. powerful command line tools). Outside of work (.NET dev) I almost exclusively use the MacBook unless I need to use an app that is Windows only.

share

Besides loving Mac OS X as an OS compared with either Windows or Linux, I use it because it runs everything. I boot into OS X, but can run Windows 7 (for Visual Studio development as well as desktop application and web application testing) and Ubuntu (for desktop application and web application testing) within Virtual Box. If I used anything else, I'd at least have to have a side Mac in order to test across platforms. Any other benefit is available with Linux or Windows or comes down to personal preference.

share
1  
I do three major types of development. Web development using PHP or Ruby, which requires testing the web application across browsers on all three platforms. Desktop applications built with REALbasic which generally need to run on at least Mac and Windows and sometimes Linux, also need to be tested across platforms. Finally, database development using FileMaker, which needs testing on Mac and Windows. Generally I write the software on the Mac side and test it on each individual platform. –  Chuck Apr 18 '11 at 1:10

Every suffering Apple owner entices others to share his fate, it is a trap :-) Or else, may be the constant negative campaign against Windows however possible has ensured that an average Mac user is always kept in the dark. Also, in reality, Mac OS has been patched regularly (mostly without any advance notice to users.)

It is important to realize that the stability of Mac OS X is due to the proprietary hardware - you cannot plug and test whatever you want, so no hardware is actually untested. Note that there are four or five options of Apple computers, and upgrades are prohibitively expensive - which means there are a few dozen varieties of hardware in the market, that is it. Support is a breeze. Also, in reality, Mac OS X is not bug free or secure

share
1  
Your first two sentences seem unconstructive. Either delete them, or, if you're being sarcastic, make the sarcasm more evident. (Sarcasm typically works badly in a text-only medium, and particularly on the Internet: no matter how sarcastic and ironic you are on the Internet, there are people who will assume you're serious and agree with you.) –  David Thornley Apr 7 '11 at 13:47
2  
@David, I understand your concern. However, it is true that Apple product owners blindly follow Apple, without questioning why. Aren't you old enough to have seen the Apple's original ad from the 84 against IBM? The roles have reversed now, but nobody realizes it. I can remove any hints of sarcasm, and you can bump me down twice :-) –  CMR Apr 7 '11 at 14:06
1  
@mipadi, let me guess, you are an Apple user :-) –  CMR Apr 15 '11 at 0:38
2  
-1: I think this answer is not helpful. It doesn't address the question, and seems to exist only to insult a group of people with opinions that differ from yours. –  philosodad Apr 17 '11 at 15:48
2  
@philosodoad, I disagree with your comment. The question was, "why do programmers use or recommend mac-os-x?", and my answer (or, its gist) was, "because of Apple's clever marketing strategy." My complaint is with Apple, and its attitude towards the industry (remember lala.com?) The Apple attitude is the same since 1984. You can -1 all you want, but you have to stop and think whether or not it is herd mentality. –  CMR Apr 18 '11 at 3:07

I was an OS X early adopter and a long-time Mac supporter, but I've come to the conclusion that they still don't make good dev machines, especially not in an enterprise environment.

I'd used them at school and had one on my second desk at work for awhile (rarely used, 95% of my time was on a Unix terminal, but I always liked it when I had the opportunity to use it, which was mostly for graphics manipulation). I finally decided to buy my first Mac (right when OS X first came out). However, in less than a year I got so frustrated with it that I sold it off cheap. The hardware LOOKED beautiful, but felt cheaply made. OS X was an exercise in frustration. MOST *nix stuff I was trying to do worked, but the remaining part was broken in subtle ways. Too many episodes of complete freezeups with the spinning beach ball of doom in Mac apps.

I've continued to/still use one at work on occasion, but really only for Mac specific tasks. I'll bounce back to one periodically to see what the current state of the art is. Java support has been weak and lagging for a long time. It seems like they're just now getting caught up. It keeps getting better, but, it's just painful to use one for dev work compared to either Linux or Windows. OS X repeatedly disappoints, as does the hardware (primarily overheating issues, but over the years I've also had monitors that turn themselves on and off when near radio transmitters, etc. Stuff that "just doesn't happen" in PC land). I hope that one day they will be a good option, but they're just not there quite yet.

share
1  
it will be very interesting to see if things change with new versions of Java not coming from Apple but Oracle. –  user1249 Apr 17 '11 at 19:00

It's a beautiful, trouble-free working environment.

I use a Mac as my personal computer, so I know my way around it.

The hardware is fantastic.

I can (and do) run Windows in a VM if I need to, which is nicer than running Windows natively (can make copies of whole machine, etc.).

So what if they're a little more expensive?

share
1  
Uhm.. that doesn't say anything about developing? Trouble-free developing is quite strange imho: if there really were no troubles you shouldn't have to develop anything for it? –  vstrien Mar 3 '11 at 12:13
1  
I think with trouble-free developing the poster means that the OS doesn't get in his way. –  Htbaa Mar 3 '11 at 12:26

Because of (in descending order):

  • iPhone/iPad development
  • Textmate
  • Bash
  • / not \ (comparing with Windows)
  • MacBook Air
  • Magic Mouse
  • Mac AppStore
  • Xcode
  • Objective-C
share
9  
Your 4th point doesn't even make sense. 5-7 are questionable at best. 8-9 are meant to be reasons NOT to use Mac OSX, right? –  Charles Boyung Apr 15 '11 at 13:58

If you're writing iPhone (or Mac) apps, you need a Mac, period.

If you're doing web development, in my experience, Macs are far superior to Windows machines, if only because most of the tools you need are already there. Yes, Linux can claim the same thing. But can you really compare Linux and Mac in terms of usability? Really?

If you're writing Windows apps, you need a Windows machine, that's all there is too it. Of course, between VMWare, Parallels, and Boot Camp, you can just run Windows on the Mac also.

In summary: mostly built-in Unix and web dev tools, great usability, Windows compatibility if you really need it. The best of all worlds. Plus, it makes you look way cooler down at Starbucks than some Dell thing would. :)

share
3  
@ohho: So you still needed the Mac OS X environment. Just replacing the hardware and not the system doesn't change much for developing apps.. –  vstrien Mar 3 '11 at 12:15
1  
have to disagree about usability. I am a Windows dev but used to use macs for audio-engineering...until I started using Ubuntu. It used to be a bear, but Ubuntu or Mint make it ridiculously easy to get around. –  Morgan Herlocker Apr 5 '11 at 20:16
1  
the first paragraph is stating a fact that is wrong, period. –  Display Name Apr 13 '11 at 9:54

Do not underestimate the hardware.

Once you got used to the trackpad you do not want to go back! Two fingers and you scroll in any direction...

share
12  
Personal preference for sure. I despise the Mac trackpad. It's fine for the first hour of use or so, but after that it starts to get really annoying. If I'm going to use a MacBook for any period of time, I plug in a mouse! –  Brian Knoblauch Mar 3 '11 at 14:32
4  
It has a downside, though. I get really frustrated when I can't click by pushing down the touch-pad on my thinkpad. –  Ferruccio Apr 6 '11 at 0:03
1  
@Brian, is that the new trackpad without buttons or the old one with? –  user1249 Apr 17 '11 at 18:59

Mac has all Unix features with awesome UI.

share
14  
UI is subjective. Personally, I have no great preference among GUIs for Ubuntu, Mac OSX, or Windows 7 (the OSes I use frequently), but I'd rate Mac and Linux higher in UI because of the more usable command line and command-line utilities. Apple, unlike most other companies, has continually devoted lots of research into making its UI good, and it would be surprising if they didn't have a UI that lots of people preferred. –  David Thornley Apr 5 '11 at 20:03
8  
People always say this that Mac has all the UNIX features. It does and it doesn't. The fact is that Mac UNIX is non-standard. Every open source package needs to be built differently on OSX than on Linux. configure; make; make install always has gotchas on OSX that don't exist on Linux. Homebrew is probably the best package manager on OSX, but it still sucks. For development, I take any Linux distro every time over OSX. –  Apreche Apr 14 '11 at 11:26
5  
@Apreche I partially see that as a sign of ‘Unix’ developers being ‘GNU/Linux’ developers, actually. FreeBSD suffers from a similar problem: software needs extra packaging/patching because they use GNU/Linux-specific features. –  Bavarious Apr 18 '11 at 4:23
1  
@AndrewDunn Isn't the OS X filesystem layout pretty nonstandard? You probably mean the kernel is Unix compliant, but that's not the full system and its tools. –  Andres F. Jun 26 '13 at 12:25

Disclaimer for comments: I use what I've determined to be best for me. Those reasons are what I've listed here. Finding the "greatest fit for programmers" in all situations is impossible, and I don't think anyone bases their choice on thinking they've found it.

It's a Unix-based OS with a great user interface installed on great hardware. Hardware that is getting ever-cheaper as Apple grows and uses their buying power to secure lower and lower prices of great components.

I use Mac because:

  • Unix-based OS
    • Terminal is a bash shell with all the standard Unix utilities
    • Built-in SSH!!
    • Comes preloaded with software that works great with Unix: SVN, PHP, Apache2, etc.
    • I find a Unix filesystem so much more comfortable to use in development.
  • Great UI - In my humble opinion, you can't beat the usability of a Mac. I love the Mac-specific apps I use daily - Mail, Adium, Textmate
  • Great OS - Can't beat the install of (most) Applications - drag and drop. The /Library folder is well organized and easy to find what I need if I have to dig into preferences, copy an application's support files, install a new Preference Pane. Speaking of System Preferences - another great feature of Mac.
  • Great support for other apps - IntelliJ IDEA is as good on a Mac as anywhere. Skype. Chrome. Firefox. Adobe suite.
  • Great hardware - I work on a $1200 13" Macbook Pro (external 24" monitor at desk). Cheaper than my coworkers on high-end Windows desktops and I'm not running into processing issues or memory issues (none of us really are these days). And you just can't beat the quality of an Apple laptop (developing on laptops is a different question but I can't live without one - wire-free for meetings, private Skype calls, or taking my work home exactly as I left it. And 10 hour battery life!).
  • Lastly, I don't develop on any Microsoft-stack technologies, so I don't feel limited there.

I don't think there are any things I can't do on Windows. The above is a list of things that, as a sum, just make Mac the preferred option. If you are looking for singular things, there are a few tasks that I feel I can simply do more easily on Mac:

  • (As mentioned above, probably the biggest) Terminal > Putty + Cygwin + Powershell
  • Migrate everything to a new computer
  • Uninstall applications or install multiple versions of applications (browsers, usually)
share
41  
I'm still not convinced on the "hardware" point. Apple's buying power doesn't really go into passing on lower prices to consumers - it goes into subsidizing the cost of almost giving the OS away (if you're running on their overpriced hardware). –  Anon. Feb 25 '11 at 1:31
79  
I disagree with "Great UI - In my humble opinion, you can't beat the usability of a Mac." I used a mac for 3 years and after 3 years I still could not stand using it, it's the most frustrating thing to use. The biggest issue with the UI is the fact you can't fully maximize a window, and if you miss-click you end up at the desktop. It's unproductive, Linux/Windows got this concept right, OSX has failed. –  Phill Feb 25 '11 at 2:14
7  
@codingbear This isn't the place for a holy war argument, but I'll address your points briefly: 1) UI is subjective, but you're pitting a free software company against a 300-billion-dollar company, renowned for design, with hundreds each of designers and developers. 2) Mail, Adium, Textmate, are Mac-only. Of course I know the others are on Windows, that was the point. They are as good on Mac as anywhere. 3) No memory problems, in fact, less than Windows with same RAM. 4) Hardware? I'd check the $1200 MBP again. You can't compare a budget computer to a MBP. –  NickC Feb 25 '11 at 2:38
9  
@codingbear: Nowhere near a fair comparison. I can buy a desktop machine with similar specs for cheaper, too. That doesn't mean I end up with anywhere near the same computer as the MBP. Battery life, size, weight, and all those other factors are important. The specs also aren't exactly equivalent. You might be paying 1 or $200 more for the Apple "brand", but consider what you get for that. Excellent service for one thing. Just today, I took my 4 year old MBP back to the Apple Store to get a defective component replaced FREE OF CHARGE. I never purchased an extended warranty. Try that with Dell. –  Cody Gray Feb 25 '11 at 5:47
23  
As mentioned further up in the thread, this isn't the place for a holy war argument. If you want to debate pros and cons of Apple or Dell machines, please take it to chat. Thanks. –  Anna Lear Feb 25 '11 at 18:20

There are three main reason I'm on Mac (specifically Macbook Pro) now for my software dev needs:

  1. Great hardware. It feels great to work on, the battery life is awesome, and the screen is just beautiful. Oh, and the trackpad is pretty nice too.

  2. Unix. It's based on Unix, and it's great for Ruby development. I have my terminal too.

  3. Runs Windows great too. I can use Bootcamp to run a Windows OS natively, or use Parallels to run it in a VM. So for my Windows development, I can do that all too on my Macbook Pro. I suppose if you are hardcore about Ubuntu, you can install that too.

share

I switched from a laptop running Windows to a Mac about seven years ago when I joined a UNIX shop that was primarily focused on ANSI C command line apps for Bioinformatics. I could do my work on any UNIX box, so why did I pay for a Mac? Purely subjective preferences. I like the look and feel of Mac native applications more than any of the Linux desktop flavors. I hate Open Office, and I actually like Microsoft Office. Go figure. Macports provides most of the convenience of yum or apt-get for developer tools. It did take a few years to get Valgrind for the Mac though.

I don't make any claim for the objective superiority of OS X over Windows either. However, I have developed a strong personal aversion to Windows. The fact that I still have to think about drive letters on Windows irks me, and over the years I've had a few disasters with damage to the registry and bad application installs. My Macs just seem to require less 'futzing' to keep them running smoothly. I do keep a pretty current Windows desktop machine at home for games and providing support for friends and family. However, I've also had good luck steering my non-techie friends to Mac in the last few years. Again, the only way I can describe the benefit is less 'futzing'.

share
1  
Haha...yes 7 years ago, Windows was fugly. I experienced similar things you'd experienced, such as the disaster with registry. I used Mac for past 4 years and recently tried using Windows 7. And... I thought.. this is pretty damn cool. You should give it a try when you get a chance. Btw, that weird drive letters still persist! :) –  codingbear Feb 25 '11 at 2:59
2  
@Codingbear as I said, I do keep a current Windows machine, so I had Vista and now have Windows 7. Windows 7 does have a nice collection of desktop themes, but I haven't found any features that are personally compelling. I was more impressed by the transition from XP to Vista. I thought it really improved the security model, and I thought Powershell looked interesting. At the same time I was discouraged because Vista made it clear how sloppy a lot of app writers were about gratuitously using Admin privileges. –  Charles E. Grant Feb 25 '11 at 4:29
1  
+1 to your comment, I don't get why the popular viewpoint is "Yeah, MS really screwed up Vista but 7 is awesome!" I never thought Vista was that screwed up and had a huge number of improvements over XP. 7 feels like it improved about as many things as it broke (the Exposé features of the new taskbar, for instance). And sloppy is the exact word to describe my general lack of excitement for Windows. –  NickC Feb 26 '11 at 15:42

For me the main benefit over Linux is that it all just works together, especially on a laptop. Video, wireless, suspend/resume without having to find and configure the right drivers, determine what chipset you've got etc. All that might be doable with Linux, but it's a hassle when you just want to get some work done.

share
34  
Linux is great for those people who know what they are doing ;) –  codingbear Feb 25 '11 at 1:47
8  
@matt: Configure an IP printer and you may have to go find driver(s), depending on the product and model you may have trouble running HD video (13" MBP, two generations past). Safari crashes often, especially when I have 50+ tabs and 16+ instances open. Too much you say? Firefox can handle it no problems. But FF on Mac eats memory like nobody's business. Also one serious drawback to Macs: it's a unix-like system but it's a lot harder to "look under the hood." For development, getting your hands dirty and learning a lot, Linux is best, bar none. –  aqua Feb 25 '11 at 4:00
36  
@codingbear: With a job and family, you learn to appreciate when things just work. –  LennyProgrammers Mar 3 '11 at 12:01
45  
@aqua Don't get development confused with system administration. I've a developer and frankly I don't give a damn about fiddling around with system settings. –  Kirk Broadhurst Mar 3 '11 at 12:14
6  
Don't know why people keep talking about bad experiences with Linux and Wifi. I've never ONCE had an issue with Linux + Wifi –  Darknight Aug 25 '11 at 22:40

I can imagine the only reason would be to develop iphone apps. But otherwise OSX is basically Unix......and Unix/Linux is free for most so I wouldn't see any other reason.

share
5  
Also, MacBook Pro is a rather nice piece of hardware; if your employer can afford you it, why not take it :) You can run Linux on it if you want, too. –  9000 Feb 25 '11 at 0:24
4  
The only reason? –  NickC Feb 25 '11 at 0:42
4  
@aqua The only reason to imagine why "programmers use or recommend Mac OS X" is because they want to develop iPhone apps? That's a reason, but the only reason? Really? –  NickC Feb 25 '11 at 1:02
2  
@DKuntz2: The kernel itself is open source, as are many of the underlying components of OS X -- i.e., not "locked up" at all. –  mipadi Apr 20 '11 at 15:09
2  
@DKuntz2: I'm amazed at what people on the Internet will argue sometimes. First of all, the kernel is open-source, and Apple is responsible for most of the major modifications to it. Anyway, you didn't argue that Apple didn't write most of the code; you argued that OS X -- and in particular, the kernel -- is "locked up", which is demonstrably false. –  mipadi Apr 21 '11 at 15:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.