Why do programmers use or recommend Mac OS X?
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.
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: 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.)
I use OS X laptop at home (4 years old). The only thing I miss (on the rare occasion I need to de-bug :-) is the Dev studio debugger. But then I do most of my development in vi and gbd.
@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: 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: I also mentioned that it was "developer" conference and hackathons. Marketing people leave after the keynote ;) I actually do know people who would not use Mac. However, they are just hard to find thesedays.
-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?
@Orbling, I was at JAOO (now GOTO) and at least 50% were MacBook Pro's, and the target audience is hardcore developers. Perhaps they just like to have a nice machine running a nice operating system?
@Thorbjørn Ravn Andersen - Perhaps they just like to look cool and pretentious? As with iPhones. [Fortunately some of the Android models have overtaken the iPhone in popularity significantly in the UK now.]
@Orbling, don't think so. Perhaps you should consider having a look at http://qconlondon.com/?
@Orbling, you can be so busy running you don't have time to call a cab.
@Thorbjørn Ravn Andersen: Whilst the metaphor is true, I tend to think conferences are largely a waste of time at that level. Some of the academic symposiums are worth paying attention to mind.
@Orbling, I can only speak for myself but the largest leaps we have done have been directly inspired by conferences. It is essentially a watered down form of mentoring.
Great question OP, as I've been wondering the same thing for a while now. Am still deciding if I'll get a MacBook Pro anytime soon or not, even though my current laptop doesn't need to be replaced yet. I also find the price a bit too high and on top of that, I've never touched a Mac :-).
@Htbaa: We have a full recording studio in our company building (separate company run by the MD's brother), and I've seen and had to fiddle a bit with Pro Tools on the Mac, and it does seem to handle it better than any PC tool. Macs are good for design work, and audio/video stuff, just not so much for other stuff.
As an interesting note, only a couple developers I know use Macs, but those are the developers that make an effort to go to multiple conferences. The PC/*nix guys rarely, if ever, do conferences...
@codingbear - 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 a real OS the rest of the time, but only needing a single computer.
@Htbaa, the unibody Macbook Pro is the nicest laptop I've ever had. It is just a pleasure to use (and if you don't like OS X you can just install Linux or Windows)
@Charles Boyung, I don't think the hardware is "cool". I think it is "nice". Some people just like to have premium tools.
@Thorbjørn - I own a year-old Macbook Pro - I need a Mac to do iOS development. However, I run Windows 7 on it most of the time because I don't spend as much time doing iOS development. And the hardware is no better than just about any other brand out there, except the nice aluminum case. In fact, that thing crashes or freezes (in both Mac OS and Win7) more than any other computer I have ever owned (and that's a fairly common occurence I've found out), so I would say that their hardware is actually worse than everything else out there.
@Charles Boyung: Please refrain from assuming people are stupid for having preferences different from yours. FYI, at least one major PC magazine has rated Macbook Pros as the best Windows laptops. Feel free to disagree, but please don't assume that people don't have good reasons for what they say or do.
Because every time you watch a webcast of some dude showing off a shiny new web framework, site, some killer ruby code, or anyone from Google demoing something they're using a Mac. I am .NET developer and as such use Windows 90% of the time. I bought a Mac to do iPhone and iPad stuff so that's why I have one. I rarely use any of the other features of it. Oh, yeah the other reason they are so popular is they are shiny!!
I use a macbook pro. It *never* crashes. I use it because it is a competitively priced (feature for feature) *nix machine that runs a couple of pieces of open source software that I love and aren't available for anything else.
OP: I've seen this thing too. Macbooks have a following because they are good equipment, at least from what I heard several years ago. I'm a Unix guy. I like desktops and lots of monitors. Using any laptop would feel constraining, Macbook or otherwise. I have personally selected every component in the last two computers I have built - near silent, low power, performant, good price. If you count the labor I've spent selecting those parts, it's probably a terrible price but so what, everyone has to have a hobby.
@codingbear: Pretty sure that if you were at MIX last week, you wouldn't have seen a whole lot of Macs... just saying... consider the audience.
Anyone else notice the oddness of people moving to the Mac because of the strength of its command-line environment?
@sal: Good point. I was on Macs for a while because I liked the UI and it was Unix, so I kept Terminal.app in the dock. Then I discovered I liked Ubuntu even better.
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?).
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.
A few of your points are wrong. For FUSE, there's MacFUSE. Also, Terminal.app supports UTF-8.
-1 for basically just being wrong. I've usually got ten or more terminals open in several workspaces, all using UTF-8, most with multiple tabs. And ff you need your application menus on screen n screen just set that screen to be a workspace.
Terminal.app does have tabs. The feature wasn't added until 10.5, but that came out over three years ago. http://1.bp.blogspot.com/_p64VvtgZDp4/R5Qs-ZlhkvI/AAAAAAAAAHU/PNEd6H8SBXg/s1600-h/Terminal.png
@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: 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: 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.
As pointed above, there are no systems without problems. Both OS X and Ubuntu violate Fitt's law with their menu bars. Go with whatever you like the most and drop the religious war.
@vartec: You don't have to run cryptic commands from the CLI (although I'm not sure why a developer would have trouble using a terminal), you can make the change in a GUI utility. And open /var (or /usr, /etc) is hardly cryptic!
@philosdad: it's like saying that `regedit` is not cryptic and it's GUI utility... The thing is, that in Windows you don't need to edit registry for change as basic as showing hidden files.
@vartec no, that's like saying that anyone who has any business at all complaining about the terminal (you) should not find 'open [dir]' to be a cryptic command. Your 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. You not realizing that the terminal application has tabs and Unicode support does not translate to those things not being there.
@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.
I cleaned up most of the comments that contained more incendiary rhetoric than facts. vartec, please respect other people's choices of OS. Just because someone disagrees with you does not mean they do not understand what you're saying. Let us all remember the part of the [FAQ#etiquette] that tells us to "be nice".
@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.
@Anna: I have no problem with ppl making their choices. What I do have problem with, is rationalizing their choices in a way, which insults logic and common sense.
@vartec That's fine. That's not an excuse to start insulting people, however. Every point you have made in this thread could be made without belittling your opposition.
mac osx is a really nice product. everything about is a job well done. I can too combine bug tracking lists of several products and list them as reasons not to use it osx. Unless you really have a specific tool, can't really port one & transplant to github, these reasons look more capricious than actual problems. OS x usually has an alternative, different command option and/or your C macros will have to get more elaborate. Not sure why your answer got upvoted so much.
@kwa: so your argument is *"OSX isn't as good as Linux, but I don't understand why the only answer pointing that is upvoted"*?
@vartec that is not my argument. OSX and Linux are pretty darn good systems for developers. Both borrow (in some way) from each other heavily. Not sure why an answer listing a "combination of bug tracking problems" got upvoted so much when they are really petty issues. They all sound like "I c4nn0t adjust my wallp4perz c0l0rs and the alpha channel is not quite there in emacs". Congrats on getting some rep pts for this answer. We should get youtube to come down and tape this.
@kwa: These things hinder productivity. Apparently not only for me. You call it petty.. That’s just like, your opinion, man. Even if they are (srsly, lack of security is "petty problem"?), each minute spent dealing with them is minute not spent being productive. Besides, paying $1000-$3000 for a MBP one expects OS that's close to perfection, not some beta crap that has some "petty issues", which are not present in Linux which is completely free. It's basically *"just works"* rhetoric biting them in the back side.
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
/Libraryfolder 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)
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).
I'm not too convinced with your points. Linux is the unix-based OS with all the little features you mentioned. Ubuntu is really easy to play with nowadays. Great UI? that's a bit subjective. I do like the intuitive shortcut keys on Mac OSX, but Windows UI isn't bad either. The apps you mentioned are all on Windows as well. Hardware? Macbooks are on the expensive end. You can get the same spec with much cheaper price. Memory problem? I haven't seen anyone running into that ever since Windows 7. Not too convinced.
I must say I agree with Anon., surprised to see the cost defended at least. Apple hardware is many times more expensive for comparable performance to PCs (where I am, at least) - they totally abuse their customer base.
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.
@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.
@Renesis The only thing I really find fault with is the price argument and the memory issues. I've never once had memory issues and very rarely do I see them. As far as price goes.... well that is complete bull. Everyone knows the markup on Apple products is through the roof.
@Orbling - Cost is a tricky subject, because it's all about what is valued by the purchaser. I have a $500 HP budget laptop and even with the same processing specs I'd consider justifying the jump to my $1200 MBP, given the production quality alone. Fit, finish, the screen, the magnetic "latch", the compactness, battery-life, the way accessories just work and power plugs fit snugly, etc. Now consider the processing components and I'm sold (prices go up quick on PCs too). I will say that the higher-end MBPs don't entice me as much, I think this is where Apple much higher margins.
@Glenn I think I phrased the memory bit poorly. I meant none of us really have problems - in other words, what I have in my MBP is sufficient for my needs. And the price, well, see post above. The $1200 MBP is *great* value - especially if you are looking for a laptop that is built to the same degree of finish (it doesn't exist in PCs). Above the $1200 MBP, yeah, value goes down.
@Renesis: MBPs vs. Dell. I say Dell offer cheaper price. Lets' face it. Although the case and design might be as astonishing as MBP, Dell laptops are cheaper with the same or similar spec. MBPs vs. Lenovo. They could be very similar in price, but as you add better hardwares, MBP costs more. I still don't buy your Great UI point. (I'm playing the devil's advocate here) Windows apps do have great UI as well. I wasn't comparing with those free apps with Windows, I was comparing with the free apps on Mac OSX with their substitutes on Windows. Textmate, eh, Eclipse is just fine.
@Codingbear It's fair enough, I know that some people just won't be convinced about Apple. I think part of it is the discomfort at joining a crowd that is so evangelistic about their products. Anyway, this is a conversation better had over a drink than in comments 300 characters at a time...
@Renesis: Textmate is a good product, don't get me wrong. But, that 1 software does not worth buying $1500 laptop.
@Codingbear for the record, I use it for a plain text editor, my IDE is IntelliJ. I just want something with good syntax coloring and basic editing features to open quickly when I dbl-click a text type file in finder. It's certainly would not justify even a $1200 laptop for me either.
@Renesis: Like I said, I'm not an Apple hater nor a Microsoft fan boy, although you do sound like an apple fanboy with no experience of using Windows recently. I own a MBP, an iPad, and iPod nano. Along with that, I do have my custom build PC with Windows 7 Ultimate. I was using Windows for a month and couldn't find a reason to go back to my MBP other than iPhone app development. That's why I asked this question.
@codingbear - that's funny. On a Windows desktop PC at the moment at home. Windows 7 at work (didn't give me a choice, I used it for 5 months till about 4 months ago, switched to my personal MBP, 2010 version). Have an HP laptop at home too. For 5 previous years at a diff. company I worked on a Mac Pro, iMac, then MBP (2008 version). I've owned an iPhone since it came out but also had an Android phone (from Google IO). Have an iPad. The only OS I haven't and won't (personally) use is Linux. So I object to being a fanboy, which has the connotation of somewhat blind allegiance.
@Phill, alright, you've got me there. I'm justifying myself. Because *that's what the question asked*. So this isn't the place to have a discussion about all the other people and scenarios for which I'd readily agree that Dell or Lenovo or PC or Linux is the answer (why do I have an HP laptop? Because a $500 laptop was better than no laptop). But I have a hard time understanding the label of "fanboy" on *any* programmer, since most know computers inside and out. I can understand it on most of those people who show up at the Apple store and want a Mac "just cause".
@Phill by the way, which comments? Just to satisfy my curiosity. I do love using a Mac, but I've tried hard to think objectively about why (since that was the question) and respond objectively only to points brought to me. Specifically, a couple of the responses were only because my original post was misunderstood.
@Renesis - Double checking his question, the OP is basically asking why you would choose a Mac over Windows/Linux. Your answer is a completely valid opinion and I have no problem with it, I commented that I disagree with your statement about the UI, but I have friends who love the UI. My point about you justifying, if your comments come across to me as "i can't think of a reason why you would pick a Mac over Windows/Linux, but ill justify my purchase anyway i can!". Thats why i feel your comments come across as fanboyish. Without reading the comments, your answer is great.
@Phill - I don't want to pick a scab, but I'm guessing your referring to my post about the cost, and the quality of the hardware. I'll readily admit that how much anyone cares about that is entirely subjective, and that I'm more of a sucker for design, attention to detail and the physical feel of quality of a product than most developers. It's too subjective to ever convey with words, but I do know from experience with many friends and coworkers who've gone to the MBP or especially iPhone, once they've used it for a while they rave about it too.
Not really sure what this argument is that starts out with Dells being cheaper than a comparable Apple notebook. That's just straight up wrong, and anyone who thinks so doesn't understand enough about computers to know what they're comparing. Yes, Dell's standard line includes a *lower end* machine than does Apple's. That doesn't mean that Dells are a better value. In fact, quite the opposite. Compare the high-end machines with equal specs (you'll probably have to build-to-order the Dell to make it match), and you'll see the MBP is a better value every time. (Then there's the OS...)
@Cody: Take a look at the new MBP ($2199) vs. Dell XPS 15($1538). They don't exactly have the same, but MBP is clearly much more expensive. The difference is $600, which is quite more than the gap between the two. Thinkpad T510 ($1249) is another one to compare. I love MBP hardware, and I don't think anyone in the market can beat it. However, I still think the price is a bit on the expensive side, just because it's Apple. The brand adds the premium. Plus, Dell/Lenovo goes on sale often. You can rarely find sales for MBP, unless you are a student.
@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.
for the hardware point, Apple is generally cheap pieces badly assembled (look inside before whining), *BUT* MacOS+crappy hardware works better than Windows+nice hardware.
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.
@codingbear, the primary reason you haven't heard about anybody with memory problems since Windows 7 is because they raised the bar "high enough" for the memory requirements of Windows 7.
I've got a 13" MBP upgraded with 8GB ram and an Optibay(320GB HDD+Intel 320 160GB SSD), with student discounts it weren't more expensive then standard configuration. The reason I chose the 13" MBP for portable use is because of a few reasons, it got a great touchpad, nice body&design, small neat charger, digital video out (can handle 1080p), optical audio out, is super fast at waking up from sleep, battery-life is great, rather slim, nice screen. I have an LG, Siemens, Compaq and 2xHP laptop and the HP is technically faster but is missing all the above features but handling 1080p.
@Thorbjørn - What in the world are you talking about? Windows 7 *lowered* the minimum memory requirements with Windows 7. I was running Windows 7 on a netbook with 2GB of RAM with absolutely no issues. Sure, you can't run Visual Studio that way (well at least not well), but you aren't going to be running much of anything on MacOS with 2GB of RAM either.
"a defective component replaced FREE OF CHARGE" -- that's the same kind of argument fanbois of FIAT use ('yeah, the service is great, an parts are cheap'). Sorry, most ppl prefer hardware which isn't defective. So I cannot "try that with Dell", because Dell just works fine, even after 4 years.
@vartec: I had a hard drive fail in a Dell laptop recently. Since the laptop was much less than four years old, but definitely out of warranty. That seems to say that both Apple and Dell ship computers with components that fail within four years or so, although some people will have better luck than others.
@David: how many times did you have "gray screen of death" on Dell that is half year old?
@vartec: I haven't had a gray screen of death on any computer (the ones I use now are from Apple and Dell). The last computer that seriously misbehaved for me was a Compaq laptop. If I did have something like a "gray screen of death" on a six-month-old computer, I'd see about warranty service. Why do you ask?
@vartec: Meaning that you don't buy Apple, or Dell, or HP, or.... All computer manufacturers produce computers with problems. If I remember the Consumer Report tables correctly, Apple computers tended to be on the low side for problems. You seem to be claiming that Apple makes nothing but defective computers, while Dell never makes defective computers. Neither is true.
- Unix-based OS
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.
@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.
@codingbear: With a job and family, you learn to appreciate when things just work.
@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.
@aqua funny, I've never had any problems opening up the terminal to "look under the hood."
Do you have to configure your wireless **every single time** you want to get some work done on linux?
Don't know why people keep talking about bad experiences with Linux and Wifi. I've never **ONCE** had an issue with Linux + Wifi
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...
... but with the classic 80 characters per row rules for UNIX development, what directions do you need to scroll besides vertical?
@vstrien, I don't know about you, but I use browsers like Chrome a lot.
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!
It has a downside, though. I get really frustrated when I can't click by pushing down the touch-pad on my thinkpad.
I've got a similar trackpad running on my cr-48, which I've got running windows. Same gestures and everything.
@Brian, is that the new trackpad without buttons or the old one with?
Even my 2y old Netbook (Samsung N110) supports 2-finger scroll in any direction. :x
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".
-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).
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.)
Mac has all Unix features with awesome UI.
I have never understood why people say this, the iPhone has a great UI but OSx is very average. It pays more attention to detail but I don't think its better than Ubuntu.
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.
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 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.
Funny that in BSD's heyday, we heard the same complaints about all the extra work you had to do to make stuff work on Linux (not to mention AIX, IRIX and a few other variants). The dominance of one environment has its advantages.
@Apreche OS X is 100% Unix compliant, the issues arise because GNU Linux (which most open source software is developed for) is not.
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.
it will be very interesting to see if things change with new versions of Java not coming from Apple but Oracle.
I can't say for certain, but based on a rather severe bug (conflict between MS JDBC driver and the JVM) I've been fighting with recently, it appears that Apple has been using the OpenJDK. The same bug that afflicts OpenJDK, also afflicts Mac OS X Java installs, while the official Oracle builds for Solaris and Windows work fine for us. Hope Oracle's Mac OS X JVM comes out soon so we can upgrade these Macs. Earlier JVMs would also work, but Apple in their infinite wisdom doesn't allow one to roll back patches... Argh.
There are three main reason I'm on Mac (specifically Macbook Pro) now for my software dev needs:
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.
Unix. It's based on Unix, and it's great for Ruby development. I have my terminal too.
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.
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.
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.
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: I actually do C ("serious") development in a Linux environment. And you're completely right. I was just giving some reasons as to why other people prefer using a Mac for development. Windows does support python and perl (unsure about prolog) but it's not as friendly to the command line (just my opinion). I'm must more comfortable working in a bash shell rather than the Command Prompt, and Macs offer the nicer option.
No it's not as friendly on that end of things, you're right. I would love to be able to switch over more of my development work to my Mac, I have just found it really painful. I've been spoiled a bit.
**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, http://www.python.org/download/mac/
@vartec: Maybe for python, but your advice is completely wrong for perl. If you install perl over the existing installation, you lose or break a lot of the MacGlue functionality. I don't remember the specifics but essentially, always installing the newest version isn't a hard and fast rule. Just use whatever version **best suits your needs.**
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.
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.
@Renesis: Yes. What do you think full-time iPhone app developers do? Trust me, they didn't get the Mac 'cause it looks pretty. (Some of them might have ;)
@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?
@9000: Some people really hate the keyboard and rather use the lenovo keyboards. MBP always have that heat problem on keyboard...maybe my MBP is too old? (1.5 yrs ;\)
@aqua Actually full time iPhone app developers don't have a choice. You need a Mac to develop iPhone apps. Its just one of many ways Apple squeeze money out of people.
MacBook Pro keyboard is outright painful to type on for me. Although I also find the Lenova keyboards to not be the best either, but at least they don't actively hurt. I haven't found a laptop keyboard I like (likes mechanical keyboards, which can't exist on laptops to begin with).
@Mercfh, you don't have one, right?
OSX is not unix. They've got that kernel so locked up you can't even think to get into it. It's more like OSX is a really rigid version of unix that has been told it can only do what apple approves.
@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 try to get to them, change them. Or read the Apple developer documents. Don't tell me it's not locked up, it's locked up. Also, Unix isn't open source. Linux is, not unix.
@mipadi most of those utilities weren't made by apple. They've been slightly adapted to work with osx. Following that, just because they've got some open source stuff doesn't mean that Unix is open source. http://wiki.answers.com/Q/Is_Unix_an_open_source_operating_system. http://en.wikipedia.org/wiki/Unix (check the license on the page).
@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: I'm amazed at what people on the Internet will argue sometimes. The Kernel is NOT opensource, prove it, I've seen no proof from you or anyone else showing me that Unix, which is the kernel, is open source. Demonstrate this, I'm not seeing a demonstration of my statement being false. Just because they've got some open source utilities? The kernel is not that.
@DKuntz2: Sigh... Did you not look at the link? OS X's kernel is XNU, and it's right here: http://opensource.apple.com/source/xnu/xnu-1504.9.37/