

Coders choosing Mac OS over Linux environment - inshane
http://news.cnet.com/8301-13846_3-20090145-62/coders-choosing-mac-os-over-linux-environment

======
davidw
At heart, I'm a hacker, and I want an environment that I can hack on when I
need to.

Also: focus follows mouse is not an optional or an extra.

I've been using a Linux desktop since 1996, and as far as I'm concerned, it's
about 100 times easier than it used to be, so whining about things not being
'just right' fall on deaf ears, especially when for me 'just right' means
focus follows mouse and other things like that that I have dialed in just how
I want them.

~~~
chc
It may be OK for you because you require focus-follows-mouse to be built-in,
but "It's better than it was in 1996" is pretty faint praise. If somebody told
you he'd clubbed 90% fewer baby seals this year than he did in 1996, would
that lead you to think, "Wow, what an upstanding guy"? _All_ operating
systems, including Windows, BeOS and Amiga, have improved since 1996.

And I think for most people, a working wireless card is more of an out-of-the-
box priority than focus-follows-mouse. (Though personally, I would have liked
Linux more if it just didn't cause my keyboard to stop functioning after the
computer came out of sleep mode.)

~~~
rbanffy
I am sorry, but nothing beats needing MySQL, PostgreSQL, some Emacs thingie or
a splittable terminal and being able to instantly issue a "sudo aptitude
install" on a terminal and have everything taken care for you.

Some developers adapt to OSX, but, if you read TFA, you'll realize this is not
a cross section of the hard-core hacker types: 80% of the sample prefers
Windows.

OSX is quite acceptable in roles traditionally reserved to Windows PCs in the
corporate world. It runs Office, Outlook, talks nicely to Exchange and runs
Eclipse just fine. Many corporate Java developers (a bunch that traditionally
used Windows) can use Macs for work and enjoy some advantages in relation to
those who use Windows.

You may argue that Linux is not as polished a Unix as OSX (I disagree, but
smart people believe it), but no serious hacker thinks Windows is _acceptable_
for development unless they are also targeting Windows for deployment.

~~~
Vitaly
I use Linux from 1997 and OSX from 2005.

Indeed installing mysql on ubuntu is simpler and faster then on OSX. But
installing major packages only happens that often.

What happens much more often is having to constantly fiddling with your Linux
machine for it to continue working flawlessly. Upgrades tend to break things,
external devices not being supported, etc, etc, etc. You need to constantly
invest time in keeping it going. Much less so on OSX.

For me OSX is a Unix that just works and has a beautiful GUI.

~~~
rbanffy
It's not just major packages: minor things like screen, tree, zsh, libraries,
tools, extras and plugins. I don't care how often I have to install stuff, the
hassle OSX causes for that is not worth the beautiful GUI that still doesn't
maximize windows properly. Anything complicated is painful on a Mac and I do
complicated stuff everyday.

And it's more likely your fiddling is breaking your Linux box than the other
way around. Either that or 1995 wants its Linux back.

~~~
crander
Note that many casual users do not know that shift click to maximize will
"properly" maximize many, but not all, OS X apps.

~~~
chc
And the "fullscreen" button in the top right will "properly" maximize every
app that sports it.

~~~
rbanffy
And it only took them what? 24 years? The not-quite-maximize buttons were
introduced on System 5. I may be wrong, but I believe NeXT did that right.

------
qaexl
I run Linux ... virtualized in OSX. Because OSX and MacBooks has wireless that
just works. It has networking that just works. And it has suspend/wakeup that
just works. But its bundled UNIX toolchain sucks, and Macports, et. al. don't
just work.

I run the VM headless, sized similarly to a typical Rackspace Cloud server.
This setup lets me use the GNU toolchain while being highly mobile.

~~~
marchdown
Care to elaborate on your setup? Which VM platform do you use? Doesn't it take
up too much resources when idle?

~~~
kree10
I don't know what qaexl's using but I'm going to guess VirtualBox with
<http://vagrantup.com/> \- it's a setup that's worked well for me.

Activity Monitor tells me my single VM running in the background is taking up
less CPU time than Skype (which is also idling in the background).

~~~
rpwilcox
Absolutely. I love Vagrant. Last night one of my virtual machines flaked out,
and _because everything was managed with Puppet_ , I just deleted the VM and
told vagrant to recreate.

10 minutes later I was back in business like nothing happened.

Had a physical machine of mine failed it would have been a fun few hours of
machine debugging, instead of "oh, I'll just destroy and recreate the VM, no
biggy"

~~~
kree10
Interesting - I see we both have projects on github called "vagrant-base"!

On mine (<https://github.com/drench/vagrant-base>) each branch sets up a
different environment (Drupal, node.js, generic "LAMP", etc.). They currently
all use shell scripts for initialization, but converting them to Puppet is on
the list. I may borrow from your project's Puppet manifest.

~~~
rpwilcox
Awesome, glad I could help! Puppet is really nice, once you see a few examples
of how it works

------
sophacles
Yes, and here is why:

When sitting in very long, boring meetings, or very long train/airplane rides,
I can still hack away on vim (or occasionally eclipse) for hours despite the
complete lack of power outlets. The fact it's bash/posix means that I can run
most of my tools locally as is necessary when I cant ssh to my real
development servers.

So basically its not that I prefer OSX as a dev environment, it that OSX
provides the same dev environment with a much, much longer battery life.

(oh also good Exchange integration via ical and mail.app don't hurt).

~~~
alextingle
Mac's battery life is not exactly stellar. It used to be pretty good in the
PPC days, but now?

~~~
2muchcoffeeman
It's way better. I have a 2 year old MBP 13". Replaced the optical with
another HD. Still gets 4 hours battery life. Little more if I am seriously
doing work and not messing around.

~~~
alextingle
Erm no. My 12" Powerbook lasted for about 5-6 hours. 4 hours is a definite
step backwards from that.

My current laptop is a Thinkpad x200, which goes for at least 8 hours of real
use (the manufacturer rates it at about 11 hours).

------
rbanffy
It really depends.

The convenience of something like apt for quickly assembling or installing
your machine with all software automatically updated is hard to beat. Mac OS
also tends to ship with older versions of software and rarely gets newer
versions without a full OS update - meaning they will get older and older with
time.

OTOH, there are many scenarios where a Mac is the only option. Any development
for iPhone or Mac is painful on other platforms.

~~~
eddieplan9
I use homebrew "for quickly assembling or installing your machine with all
software automatically updated" and really have nothing to complain about. Mac
OS X ships things like Python and Ruby, not because Apple envisions you will
use those things to build custom applications but because there are system
tools that depend on them. That's why upgrading these system packages too
aggressively is a bad idea, even on Linux (and that's why RHEL is still on
Python 2.4). You always have cleaner way to get and use newer versions of
almost all packages without breaking the system.

~~~
div
I was lost without apt for a while too until I discovered homebrew.

The list of packages available in homebrew is growing at a pretty crazy rate
as well. It's currently the most forked project on github
(<https://github.com/popular/forked>).

------
wiredfool
My old setup was a Mac, with keyboard and big screens, with an xemacs window
open to a linux box. Then, I lost a hard drive on the mac (while time machine
was in self borking mode). Migration ensues. (some of which was planned)

So then, I've got 2 ubuntu boxes, and a mac that needs rebuilding. Dev stuff
has been moved from hw linux to a redundant array of cheap virtual machines.
One of the HW linux consoles is repurposed to run vms, run the vm generator,
and also do some ui stuff, since Xemacs and chrome are pretty much the same
anywhere. All well and good.

So, linux box #2 doesn't like to have a keyboard plugged into it for any
length of time. It starts to ignore it. (Why, I don't know). But it runs VMs
like a champ, so there it is.

Linux box #1 does fine for months, until this morning, when Xorg fubars
itself, and then proceeds to do it every 15-20 minutes.

So, now, I guess, I'm back to the mac. Since it's hd has been rebuilt in the
intervening time. Though I'm still getting used to the terminals in Lion.

But that's not what I came here for, The real point of the story is:

emacs --daemon

and emacsclient -c.

So now, in the dev vm start up emacs in daemon mode. Then, you can connect to
that process from any tty or xserver. With all your state. I like state.

------
doe88
I used Linux (Slackware, Debian then Ubuntu) since 2000, and as my main OS
since 2002. Last year I had to switch to Mac OS in order to develop for iOS, I
have several issues with Mac OS, mainly I don't like their window management
at all (when I close a window I want the app to be closed, I don't like the
menu bad not integrated with the windows, I don't like how works the
resizing,...).

But when I see what is gnome on Ubuntu 11.04, I don't really know if I would
like to switch back know. I don't know how to put it, but my desktop pc is
_not_ a touchscreen, I don't understand why they changed everything as if it
everything was an iPad... Moreover it seems to me that the state of Firefox
(yeah I'm still rooting for FF) on Linux is largely lagging behind win/mac at
least for its UI. And worst of all, I'm feeling that a lot of skilled
developers have switched to Mac OS recently and putting their skills to
develop .app instead of .deb now.

I'm actually a bit sad because I love Linux more than anything.

~~~
mblakele
For window resizing, I can recommend <http://irradiatedsoftware.com/sizeup/>
\- there's a free demo, and a full license is cheap. No affiliation with the
author: just a happy user.

------
BerislavLopac
I'm using Windows and Ubuntu. Why? Because where I live (Croatia) a Mac Mini
2.5GHz costs the equivalent of $1300, which is almost twice the $799 price tag
on Apple Store. Nuff said.

------
Mizza
I'm a bit of a Linux nut, but I'm seriously considering getting a MacBook Air
for my next machine as there doesn't seem to be any comparable non-Apple
hardware out there. Does anybody know of any?

~~~
alextingle
Thinkpad X220.

I used a Mac laptop for years (PowerBook 12") and, although the OS was pretty
good (that's high praise from me) from a user perspective, the hardware was
awful.

Aluminium is not an appropriate shell material for a mobile device. Being able
to swap the hard-drive is essential, unless you want to buy a new device each
time you drop it.

The Thinkpad is so much better than the Apple in every way. I run Ubuntu on
mine, and it works perfectly.

The Thinkpad even looks better than a Mac. Not immediately out of the box of
course (new Macs look lovely), but after a few months of use, the Thinkpad's
magnesium alloy shell still looks pretty good, while a Mac's aluminium is
scuffed and scratched.

~~~
mitchty
Gonna have to disagree here. My 15" mbp has survived a motorcycle crash (long
story short, it ended up as back armor). Only thing that isn't working is the
dvd drive, and thats more due to me being too lazy to bend the aluminum back
into place.

No real scratches on it of huge amount, but aluminium as shell works quite
nice thank you very much. I've had this laptop for almost 3 years now, outside
of the whole case being warped around due to impact its pretty much same as it
ever was.

------
wildmXranat
Yes and No. I like my Air for developing and you would have to pry it from my
cold dead fingers, buuuuut: I tried to install python PIL just yesterday and
thought easy as pie, not! easy_install complains that gcc is getting the
ARCH_FLAGS as ppc not x84_64, plus a couple of other nitpicks. So I used
ports, but that means I had to install a new Python interpreter ... and well I
have better things to do that replace apt.

Apt > (ports,mac,brew) anyday, but rarely is it an issue.

~~~
div
No package manager is perfect though. Installing rubygems through apt for
example is a pain because it's a custom version that will install gems to a
different directory than vanilla rubygems.

Trivial to fix if you know about it, but you have to figure it out which
easily wastes as much time as having to install macports.

------
pnathan
Of course, it's a 'works out of the box' system that requires very little
configuration, as well as having a very nice posixy environment.

Of course, it's not as good as Linux for some things, and in those cases, it's
not hard to get Linux access.

OSX is great.

------
rdl
I use Linux and BSD servers (hardware and virtualized), and Macs for laptops
and some desktops.

I use Linux desktops for serious sysadmin tasks, due to focus follows mouse,
but I really like having CS5.5, iWork, etc. even on a desktop. I'm also a lot
happier with OSX for mobile devices due to power management, device drivers,
etc. And, I love the iPad and iPhone, and the Mac is a much better host for
those.

Really, mac ports covers 95% of what I need on a machine. Being able to scroll
in a non-focused window really covers most of my need for pointer-focus too.

------
wiredfool
My old setup was a Mac, with keyboard and big screens, with an xemacs window
open to a linux box. Then, I lost a hard drive on the mac (while time machine
was in self borking mode). Migration ensues. (some of which was planned)

So then, I've got 2 ubuntu boxes, and a mac that needs rebuilding. Dev stuff
has been moved from hw linux to a redundant array of cheap virtual machines.
One of the HW linux consoles is repurposed to run vms, run the vm generator,
and also do some ui stuff, since Xemacs and chrome are pretty much the same
anywhere. All well and good.

So, linux box #2 doesn't like to have a keyboard plugged into it for any
length of time. It starts to ignore it. (Why, I don't know). But it runs VMs
like a champ, so there it is.

Linux box #1 does fine for months, until this morning, when Xorg fubars
itself, and then proceeds to do it every 15-20 minutes.

So, now, I guess, I'm back to the mac. Since it's hd has been rebuilt in the
intervening time. Though I'm still getting used to the terminals in Lion.

But that's not what I came here for, The real point of the story is:

emacs --daemon

and emacsclient -c.

So now, in the dev vm start up emacs in daemon mode. Then, you can connect to
that process from any tty or xserver. With all your state. I like state.

------
jinushaun
I pick OSX over Linux because why can't my dev box also be my everyday box? I
have access to all the GNU/open source dev tools I need on OSX, so why give up
Photoshop, Office, iTunes, etc just to say I'm using Linux? I have a dedicated
Windows machine and at the end of the day, I'm still using Windows in
Parallels over a dedicated Windows box.

------
runjake
It would be fair to mention that in the survey, 80% of the coders chose
Windows, Mac OS 7.9%, and Linux 5.6%.

------
salem
Macs as the preferred dev machine has been the trend at my last four
workplaces, including two startups, one 'tween', and one corporate.

------
siculars
In other news - lots of people put pants on one leg at a time and don't forget
to walk the dog in the morning!

