Poll: What OS do you prefer for Web Development?
This is a little question I'd like to clarify. I see a lot of vocal HNers saying they prefer OSX over anything else, but is that a vocal minority or does that represent a majority here on HN ? Please indicate what you prefer using for Web Development, and why.
83 comments
[ 2.6 ms ] story [ 132 ms ] threadPersonally, I like Windows, but developing Rails on Windows isn't ideal so for Rails stuff, I use Ubuntu (sometimes OSX). Node and PHP I've always done in Windows.
I actually work on a Windows 8 machine for most of my day, but all my actual development happens on a Fedora machine on my LAN, which I work with via Samba and SSH. The advantage of this setup is that it means that I can also work from my Chromebooks trivially - just SSH into my dev machine and hack via vim. I have a Macbook that I work on sometimes, but I frequently just end up doing the same thing there - connect to my dev machine via Samba and SSH, do my work, don't worry about the Apple tools tripping me up and getting in my way.
OS X is probably the nicest (prettiest?) shell available, but the OS as a whole is a pain in the ass from a development standpoint compared to the Linux alternatives. The shell also has its own little quirks - you end up using the mouse a lot more on an OS X machine than you do on a Windows or Linux machine, which slows me down.
I think that $YOUR_FAVORITE_DESKTOP_ENVIRONMENT works just fine as long as you are running all your actual code on a Linux machine or VM somewhere.
Since you end up relying on a third-party package system, and the OS itself makes no guarantees about the availability or compatibility of the development tools you need, upgrades become dangerous and unpredictable.
As for advantages...I dunno. Netflix, Photoshop (sorry, GIMP fans, Photoshop is still unmatched) and battery life? Linux power management is pretty horrid compared to OS X. However, basically the only time I care about that is when I'm on an airplane and won't be able to get to a plug for 4 hours, which is like...a half dozen times per year.
My only other beef is that there's no rc.d system and OS X's startup stuff is messy, but I do that so rarely that it doesn't usually come up.
The other major advantage for me is Xcode. I did not get-it until Xcode 4, but these days I really miss when I'm not using it. (I do mobile and web development on the JVM, but I write games on the side.) I've yet to find a C++ IDE that's as nice as Xcode, and that's including MSVC with Visual Assist X.
Also, I haven't found serious issues with upgrades since moving to Homebrew from MacPorts. Your mileage may certainly vary, but I've upgraded the same Mac from 10.6 to 10.9 without any issues. I can't say the same for my Ubuntu system, but that may have been my fault. =)
The lack of an rc.d system is another sore point for me - I can't ever remember the correct invocation to restart this or that service. Having to look it up each time is annoying.
I haven't used XCode significantly (I tend to stick to Sublime and IDEA's Java/Ruby IDEs), but I've heard great things about it from iOS developers.
Heck, IDEA looking and feeling great on OS X was the reason I originally bought a Mac.
Have you already looked at launched. I've heard a lot of praise from people who've used it. http://en.wikipedia.org/wiki/Launchd
There is also the EXCELLENT http://brew.sh package manager for OS X.
As long as you conform to standards, webdev is easy.
I used to use Photoshop and run my main dev setup in a VM so I could use it, but eventually I just used it less and less.
I'll agree Gimp isn't the best piece of software ever usability wise, though single window mode went a long way. But honestly I end up using Inkscape way more since it's so much easier to align boxes in layouts for mockups and create CSS-like effects, which is what I end up doing a lot.
I get Photoshop for Lightroom/really graphics heavy stuff, but as a webdev I find I either need to make simple vector graphic stuff that Inkscape works wonderfully for, or I just need to chop up stuff that someone else already created as a raster somehow, neither of which really make Photoshop a necessity.
Now the main piece of software I like that doesn't run on Linux is Sequel Pro. I really really wish that it had a Linux version.
As for what I use, I always do my development work in Linux, whether VM or regular install. Getting stuff to work on Mac can be a headache (you absolutely need homebrew, and most of the time it works alright, but compared to just using Linux it's not always convenient, especially when you want to use a piece of software that's never really been built to work with Macs), and it's generally impossible on Windows. These days my desktop distro is Mint, though I stick with LTS based.
Multi workspaces, allows minimal distraction for UI, Sublime Text 2, Chrome.... love it. Been using Linux since 2006 and wouldn't switch to anything, though I recently bought a MBA and that has been converting me slowly - what a great portable machine.
Why? Mostly inertia - I've been using Mac OS daily since System 7 days, and I've never chosen to spend the time becoming familiar enough with any particular Linux distro (or Windows) to become familiar/comfortable for the rest of my day-to-day work - I like my text editor (BBEdit) and my other toolsuite much of which is OSX only. I'm happy enough in vi from a command line when needed, but I'm not as productive or efficient there. There's a little bit of liking the hardware too - I still like my (~3 year old) MacBookPro - it's a _really_ nicely made piece of kit - far nicer than most other brand laptops I see around. (I have little doubt that there are nicely engineered and designed Windows/Linux laptops, but most of them I bump into are plasticy or boxy or flimsy-feeling.) I do have a Toshiba Notebook and a non-name wintel box with Ubuntu12 under my desk, but it's a 27" iMac and a 13" MacBoo Pro that I spend all my time in front of.
And yeah, once you get a hang of tiling window managers everything else just looks silly.
The main advantage of wmii to me is that I can always get to my destination window with a single keystroke. I don't have to grab the mouse and I don't have to shift my focus to the window switching process itself like it happens when you Alt-Tab in Windows / OSX. I switch between windows a lot so it was a major annoyance when I used to work on Windows. Maybe for someone with a different work style it would be a lot less important.
Most of the time I have one maximized window per "virtual desktop" so there's really no competing for attention issue. But when I do use multiple ones (e.g. for multiple IM clients) I really enjoy the fact that I don't have to do the layout manually (using mouse, again).
Finally, it might be silly, but I just realized that "imperfect" windows layout (where there is unused space between windows) bothers the hell out of me. OSX is particularly bad in this regard (and I've noticed other people bothered by this as well).
I hear you on the OSX "space waste" thing. Windows has the awesome Win+Up/Win+(Left/Right)/Win+Shift+(Left/Right) shortcuts that I dearly miss when I'm on OS X - being able to move windows around and maximize/restore them with the keyboard is fantastic.
I also kinda missed the (true) window maximize button, but then again there's RightZoom which does it.
Personally I've also got PCKeyboardHack [2] and KeyRemap4Macbook [3] setup to disable capslock and remap it to a 'hyper' key (command+option+control+shift) so that I can assign my own key combos without having to conflict with other software.
[1] https://github.com/jigish/slate
[2] https://pqrs.org/macosx/keyremap4macbook/pckeyboardhack.html...
[3] https://pqrs.org/macosx/keyremap4macbook/index.html.en
Yeah, if you sweat for a couple of days you can turn your OSX (and even Windows) into some remote resemblance of a linux. But what good parts do you have left after that?
yum is a very capable package manager, and Redhat's distros have been very well supported for a very long time. The flexibility of having both Fedora (bleeding edge, you'll probably cut yourself, but can always get the latest goodies) and CentOS (LTS, you know it's going to work properly) is really nice, too.
Apple has a serious design VS usability problem with their keyboard and I seriously don't understand how people get used to it. And the unique menu bar.
Also, a windows box for testing is a must have since it's the most popular OS => no need for slow browserstack or vms.
What keyboard usability problems are you referring to? Compared to Windows, I quite like using the Command key instead of the Control key for most keyboard shortcuts (thumb instead of pinky).