Why Developers are Switching to Mac
smashingmagazine.com
smashingmagazine.com
1. Abysmal window manager, not replacable. Pixel waste, clumsy (long list here)
2. Mandatory Click-to-Focus and Click-Raise. Showstopper.
3. No home/end keys on apple laptops and other wierd layout choices.
4. Nasty BSD gang-rape under the hood. Yes, OSX has it's own "windows registry".
5. Idiotic shareware culture that makes you pay for the smallest things. $10 for a sane Macbook trackpad driver that should be in the OS in first place.
6. Inconsistent keyboard shortcuts, meta-key nonsense, Apple+Q.
7. Menus only on context-sensitive titlebar, sub-problem of #2
8. Single mouse button idiocy.
9. Finder.
10. Equivalent PC hardware can be had for 60% of the apple price
2. you can scroll in windows without clicking, afaik
7. isn't that actually 'pixel saving'?
8. last time I checked, iMac's mouse had 3 buttons (and a squishable)...
9. pathfinder
10. hackintosh
7. Yes, kind of. But saving in the wrong place because you can't quickly perform an operation on an obscured window and be sure focus is restored to the one you had before. (Or can you? I recall intermittent behaviour and am quite sure that at least keyboard focus is lost)
8. Last time I checked the laptops all had one button.
9. $39.95
10. Reportedly too much hassle (hardware issues).
also, -1 for use preformatted text that ruins this whole discussion for everyone (without a wide browser window).
What does this mean?
yeah, i wrote the comment quickly and didn't catch my 3-os assumption
probably you could have figured this out, though :-)
Sorry, I've been spending a lot of time around BSD lately. What I was asking was if you meant "Windows, BSD, Mac" or "Windows, BSD, Linux" or what.
Sorry for that one. I found that the quickest way to format a list in a half-bearable way and didn't notice the width (big screen). Maybe PG can be bothered to add some kind of list markup one day...
10: This has been shown time and again to be FUD. I won't even bother linking the appropriate articles.
Please do link them. I haven't heard this before, so I'm curious.
10: Would you care to back this up?
A lot of these seem to be the difference between the Mac "This is ours, you can use it" philosophy, and the BSD/Linux "This is ours, WE can use it" philosophy.
There are things about macs that, while they are probably obvious to mac users, are completely non-intuitive to everyone else. Devs don't want to spend time learning the quirks of a window manager, we don't care; we care about....DEVELOPING! When you've got something, like aqua, that just seems to continually get in your way, it sucks.
A personal example: A few years ago, my parents had just moved into a new house. It was a really cool house, and they were really excited about it. I thought it would be fun to create a spoof of that show that used to be on MTV called "Cribs" (Athletes and singers walk through their houses and show them off with some slow motion/fast motion transitions and some hip hop music). A friend of mine helped by filming me walk around their house and host our fake cribs show.
When it came time to offload the video onto my PC, we ran into trouble, I didn't have the right firewire port for the cable we had (it was his camera). "No Problem", I thought, "I'll just plug it into my friend's laptop (a mac), copy the video to his machine, then SCP it to mine." Hooray, "Unix-Under-The-Hood!". We imported the movie to "iMovie" (i think that is what it was), but I could NOT figure out how to save the video file. There was no "save" or "export". Nothing. I could "save to quicktime" or "save to the internet" or "save to $foo mac app", but no "Save to /home/scott/video.mpg".
I finally had to "export to quicktime", then do a find. |grep *.mpg to find the thing.
THAT is the sort of "getting in my way" that seems to be not only acceptable at Apple, but standard and required.
Another example is iPods. Ever try and take a song OFF of your ipod? Yes, you can do it, but Apple tries to get in your way as much as they can.
So, thanks for contributing ... nothing.
I promise.
On a more serious note: This is HN, not your local fratboy forum. Please adjust your tone accordingly.
Don't be intimidated by the fact that there are UNIX-using pros who aren't into your juvenile posturing.
Not hating on the Mac, or anything - competition is a good thing. I just didn't care for the evangelista tone.
In my opinion, the real reason that developers switch to OS X is so that they can develop software for apple products (or in the case of web development, develop websites that are OS X friendly).
SSH + vi and suddenly your not just using your system but any computer your connecting to. The classic windows advantage of all those legacy systems stopped being relevant when many developers went back to notepad to update whatever new language they happened to be using today.
PS: The article mentioned Terminal, but it forgot a lot of the other out of the box UNIX tools like SSH / diff.
I'm positively drooling for Apple to release a tablet PC, though. Gimme gimme gimme please.... The multitouch stuff on the iMacs looks extremely cool, and you just know Apple will nail the tablet.
Funny, I sound like an Apple fanboy, even though I came here to express my irritation with OSX. Right now, if somebody gave me an iMac, my first impulse would be to install Linux on it, but you just have to look at the non-Apple phones released since the iPhone launched to see that Apple is on a completely different plane when it comes to smaller devices. I can't wait to see what they do with tablets, though perhaps it would hurt their prestige to release a novel product for a small market... they wouldn't be able to keep the hype within reasonable bounds, and expectations wouldn't be met.
I can't see anything much bigger working TBH. At some stage, you need a keyboard to type on, and to hold the screen at a good angle. And then it's not portable so you may as well have a netbook/laptop.
By no I mean, lesser, much lesser.
Actually, that last scenario pretty much sums it up. It's a small laptop with no hinge, with the keyboard reduced to an optional accessory that you can leave in your briefcase, or in your hotel room, or on your bedside table, or wherever, except when you actually want to bother with it.
Of course, most tablets fail by integrating the keyboard, keeping the hinge, and not providing a decent touch-screen interface. Really decent tablet interfaces have been limited to special-purpose applications for medical entry, warehouse inventory, GPS, or what-not.
>> "have a bluetooth keyboard in your hotel room for blogging and email"
The bottom bit of a laptop isn't just there for the keyboard, it's there to hold the display at a nice viewing angle. So you'd need some extra device for that as well.
Maybe it'd take off, who knows...
For most, I think OS X is linux but without the maintenance.
Also, the whole getting wifi to work thing is mostly solved now. All the wireless cards are Intel, and Intel pours a lot of money into making them work really well with Linux. So you pop in your Ubuntu or Moblin CD, install, and right click the little icon, just like on any other OS.
Basically, OS X sucks, Linux sucks, and Windows sucks. So there is no real reason to get super-excited about any of them -- they are all basically the same, with Linux marginally better in a few cases.
I've used OS X for 2 1/2 years now, and can't remember anything breaking :/
Before that I used linux on the desktop for maybe 8 years, and things broke every week. (Redhat, mandrake, gentoo, ubuntu)
Well there's your problem :)
Try Debian stable, and let me know if it ever breaks. (Debian unstable definitely does break, but not very often, and it's usually easy to fix. It works for me.)
As I say, 2 1/2 years on OS X, and I don't miss linux on the desktop one bit.
Incorrect. Security Update 2009-001 replaced a Perl component which some users had (inappropriately) upgraded themselves, causing breakage for those users. The "system Perl" worked fine as long as you hadn't touched it, though.
: The inappropriate part was touching the Perl install in /System. You don't do that.
http://www.dieblinkenlights.com/blog_en/five-reasons-why-thi...
My only big reason is because mac is a *nix under the hood. So I get all the nice scripting benefits and never have to deal with the windows shell scripting for dev purposes.
The hardware issue is a BIG fucking deal. I just got a mac mini at work for testing. ONLY ONE VIDEO PORT! So no dual screen. My PC? Oh no dual output? no problem a hundred bucks will solve that problem. To make it worse I can't upgrade my mini with a new card, gota get a new mini. (sorry just got = right before their new model was released)
So yea mac is a pain still. I want a nice motherboard like a PC has, and a nice case like a PC has, and as powerful/weak as a mac mini, for the mac mini price. If I need a new card Ill buy one. But that's not available, gota get me the $2000 power mac.
The author describes how OSX is more open-source friendly, describing also how it comes bundled with developer tools, but I find it incredibly hard to believe that an actual developer will have a hard time finding a better tool online. The apps that come with the OS aren't exactly the best, and just about everyone who's planning to get some work done will find other tools wherever with better libraries and more support.
The author also goes on and on about the UI. The simple taskbar in Windows and Linux is enough for me. Is it really necessary to have to view a thumbnail-esque to change to the window? Alt-Tab is enough.
Security? Please! I'll say again: the developers I know are not stupid. Anyone in their right mind and with some knowledge of computers should know that clicking on an odd-looking ad, or downloading a strange attachment, or accessing a crazy porn site aren't sane things. A combination of Firefox and AdBlock/NoScript can make any OS safe for most people. Unless you have kids who have thumb drives and like to use your computer, contracting a virus that way shouldn't be a concern, either.
The hardware-specific optimization is another problem. iPhone development is booming right now, but what about the rest?
I'm willing to accept "the apple", but presenting bogus arguments isn't convincing.
I would argue that -this- is the reason why Mac is converting casual non-developer users. "Normal people" are complicated and the way they perceive files, windows, and apps interacting on a computer is varied and bizarre. Alt-tab is simply not enough for normal people to connect with a computer the way they expect it to work.
Leopard has come really far in making visualization tools that are fast, easy to understand, and useful. With one keystroke, I can interact with my open windows in 5 different, task-focused ways. With two keystrokes, I gain access to even more.
Mac OS X is UNIX alright, but to pull most of libraries from MacPorts is the only sane way to manage dependencies.
If you run Tiger (and see no reasons to upgrade) - then you are stuck with old Java release for ever. There is no way to upgrade Java other than buying Leopard, and then you are still at Apple's mercy for future upgrades.
A simple task like doing 'sudo emacs' requires some custom shell scripting, since emacs that came with the operating system is old and useless.
My initial excitement about Mac hardware is also dented after battery and graphic card both failed only after a year on my MacBook Pro.
A web developer would be much more happy on Linux if he/she could live without eye candy.
The only time this is the case is ImageMagik. Everything else is easily manageable by hand unless you insist of mixing it with the normal mac stuff. MacPorts is hardly necessary.
It's unfortunate too, because Apple has one of the best non-package solutions for managing software installs in their .bundle and .app and .framework scheme. It's exquisitely simple and elegant, but everyone seems hesitant to adopt it because, well, because the UNIX way is to use a byzantine and barely functional package system and not incur manifest parsing penalties when apps are loaded.
worse, i did indeed already have x11 installed, but imagemagick didn't like it for some reason, and failed to install. so i pulled down one of the binary distributions instead.
If I have to fiddle with macports, install my own emacs and live with the Java Apple wants me to have, I would rather just buy a cheap core 2 duo notebook or a netbook and put Linux on it. The only reason to buy a Mac is if you need iTunes, Adobe stuff and Office and don't want to run Linux.
Or if you are developing for Mac (in which case it would be rather dumb to use anything else)
Both platforms (Mac and Win) tend to violate consistency on a case-by-case basis. Adium, one of the apps highlighted in the article as awesome (which it is), does not conform to the rest of the system's interface. Specifically, it uses white tabs rather than the new not-quite-metal look of 10.5. Likewise, iTunes has different scrollbars, Camino and OmniWeb don't use the new button-look for controls and use the old-style flat color images, sometimes input boxes have rounded corners and sometimes they don't, sometimes you can tab to select menus and sometimes you can't, find boxes are in every form imaginable. . .
Consistency is great, but practicality beats purity. Both Apple and Microsoft have kept things decently consistent and violate their designs. Heck, with web pages throwing all sorts of interfaces at users, even the non-techies are getting used to understanding how different interfaces work.
OS X is great, but I don't see it as being amazingly more consistent than other platforms.
I think the real reasons developers, compared to all other users, are beginning to use Macs is down to 3 reasons:
* Unix tools, software and terminal. Unix, and Unix software, is the bread and butter for a lot of developers, and getting them to work on Windows is pain and even then is regarded as a second-class citizen. People have been crying out for a truly good Unix workstation for years, but Apple are the first ones to gain enough traction to matter and truly create a good out-of-the-box user experience for it.
* Universality. Mac OS X runs notoriously poorly under virtualization, so buying a Mac is the only simple choice if you wish to develop for all current platforms, something that is increasingly common, and run all the software available.
* Fashion, particularly in areas where programming has overlapped design such as web development. People follow each other and their trends, and Mac OS X and the Macbook Pro has become a fashion among a certain type of developer.
I'd have to say that the biggest thing holding me back from doing extensive development on the OS, though, is the lack of "Home" and "End" buttons (it's the small things, I guess). I know there's Command+Left/Right but it's just such a weird keystroke and if I want to select a line it's not End, Shift+Home. I have to press Command+Right, Shift+Command+Left and it just feels like a lot of unnecessary keystrokes.
I also don't like the fact there's no built-in solution for mouse acceleration. I want it turned off but from what I've read in my searches there's no way to do it without running a separate program to do it for you.
I love using Command-C to cut and paste throughout the OS including the terminal, rather than having to switch to Control-Shift-C for certain things as you do under Gnome, where forgetting means canceling something.
Every single new Mac user has a "critical missing feature" that turns out not to be so missing after all once they actually read the docs about the literally thousands of keyboard shortcuts that they can call upon.
I do appreciate that OSX is now an official UNIX, more power to 'em.
I want it for iPhone development so linux is not an option.
I know OSX is the #1 reason I prefer a mac at home. Being able to play like a native member of the Posix world while still having one of my favorite GUI APIs available is a big deal in my book.
1. Lekking - A gathering of males engaged in competitive mating displays http://en.wikipedia.org/wiki/Lekking
A systems or applications developer won't switch to OSX for those reasons at all (for other reasons maybe).
Macs are nice machines. But if you have some other reason for using Windows (cost, compatibility, prior experience), I don't see a compelling case for switching.
Currently i think about buying one of the sony vgn-z notebooks. Any expriences with these?
I don't like OSX but I am not going to deny it's power or appeal.
Just find what works for you.
I don't use Windows because it isn't Unix, not even if you use Cygwin and squint and tilt your head sideways.
You ever stand behind a door because you were afraid the modelines in your XFree86 config file were going to blow up your monitor?
Uphill both ways in the snow, etc.
"Y Combinator is (we hope) visited mostly by hackers. The proportions of OSes are: Windows 66.4%, Macintosh 18.8%, Linux 11.4%, and FreeBSD 1.5%. The Mac number is a big change from what it would have been five years ago."
I'd love to see current numbers so we can spot the trend
Unfortunately I ended up with Vista on one of my computers, the system is so cumbersome it's repugnant to me. XP had it's faults, however they're all passable and the lack of elegance in the system was forgiven by its durability and compatibility between locals (School, Work, Home).
Unfortunately for Microsoft, my next desktop is going to be an iMac. I'm fully aware there's going to be a learning curve when switching OS, however using Vista is frequently painful compared to XP. So for me, their's no longer a perceived barrier to entry to Mac, plus my wife is pushing for our next desktop to be a Mac... so I likely no longer have a choice but Mac. Same thing happened with the Xbox, when she found out the Elite was black and matched our TV she wouldn't let me get the cheaper one.
Also, I was at the first Startup School at Harvard in 2005 (?). One of the speakers (PG?) noted the very high proportion of Macs in the room. Looking around I guessed about 80%. That is consistent with something PG said in that Mac essay - "If you want to know what ordinary people will be doing with computers in ten years, just walk around the CS department at a good university. Whatever they're doing, you'll be doing." I'm seeing more of my friends and coworkers using Mac, even DBAs who use MS SQL Server a lot.
Edit: OK, how am I wrong?
(You may have a point, but you've presented it in a trollish manner without explanation, justification, deviation, hesitation or repetition and it doesn't add to the discussion)
1) No new insight into this earth-shattering issue will arise, even from the mighty minds on HN. 2) Even if 1) were wrong, it wouldn't change anyone's mind anyways.