I'm surprised more website developers don't use Linux to develop in. It is what we all push to in the end after all. I use Ubuntu 10.04 w/ Sublime Text 2, GIMP, Chrome, Firefox, VIM, Vagrant, virtualenv, git, and ssh. Then whatever framework I happen to be using at the time. Mostly Django.
It's just easier to develop in Linux than it is in any other OS. Being able to hit "sudo aptitude build-dep python-psycopg2" and then being able to "pip install psycopg2" without having to hunt everywhere for deps and it just work is one of the greatest things of all time.
> It's just easier to develop in Linux than it is in any other OS.
Uh...
> Being able to hit "sudo aptitude build-dep python-psycopg2" and then being able to "pip install psycopg2" without having to hunt everywhere for deps and it just work is one of the greatest things of all time.
Implying other operating systems don't also have package managers. There's myriad Unix-like operating systems (and one fully-ceritifed Unix I can think of) which can run that exact same software stack.
Yeah, but few people actually run their production environment on that "fully certified UNIX", so if your goal is to be as similar to production as possible, that those package managers exist elsewhere is meaningless.
Most require more setup to get to that point, either through being a bit more fiddly to set up (eg, the BSDs), or through simply not shipping with a decent package manager (eg, OSX, where the package manager isn't even comprehensive -- you have to manage different software from different places).
Sure, with more work you can get stuff up to the same ease of install, but with most Linuxes it's all working out of the box.
I used to develop on a mac at work, and started using ubuntu after I had to give it back. Ubuntu is still very buggy (atleast for the HP HDX I have). Wireless and sound drivers are randomly not recognized and the battery indicator has issues. During a hackathon once, Ubuntu completely just gave up (refused to connect to the internet even though all the cards were recognized and I had to reinstall the entire OS to make it work).
This whole 6 week experience left me running back to windows.
FYI You can easily have a hybrid development environment. One box (or virtual machine) runs Linux with all the stuff you need. The computer in front of you runs Windows or Mac OS and you ssh to the other box. Especially useful if your production environment is Linux. You can have the Linux box match your production environment.
I personally prefer this setup, as it allows me to use Adobe (Photoshop, Illustrator, etc.) and Microsoft (Office) and a few other favorites not found on Linux.
I just moved to Arch (always wanted to use it) from Ubuntu 11.10 after Unity (compiz) became intolerably slow on my 5 year old machine. Now running a custom DE using Openbox. It's blazing fast and highly customizable.
I just use Ubuntu 11.10 with a fairly standard set up of Sublime Text 2, Chrome, FileZilla, and vim for quick file editing when I'm in the terminal or SSH'd into another computer. This was after originally trying to cope with Eclipse and other IDE's that weren't my cup of tea.
Mind, I'm looking to switch up the OS (or at least the window manager) because Unity offers a less productive environment, and Gnome3 on Ubuntu really disagrees with my hardware for some reason. Even Classic appears messed up.
I've just switched to xubuntu for similar reasons.
I'm finding it a big improvement on gnome 3 or unity so far, although I've only been using it for about a week, so I still count it as testing at the moment.
Kubuntu - been using it since I moved to GNU/Linux - but on my netbooks still can't decide between Lubuntu, Xubuntu, or the big K - I'm running lubuntu as a trial, its still young and stroppy but hey I get to edit its text config files.
I earn my beer vouchers from what I do with the apps running in VM's (VirutalBox 4 me), when working full on I'll have 3 VM's running chatting to each other and out to the networks, but normally just have one or two up. Using VM's had been the biggest boost - I can shag around with the various OS's - a clean install, install vbox hook up to my existing disk images and I'm up and working - can be up and running in 30 mins from a clean install.
I keep saying it - many thanks to all the fine folk that put together the various distributions - u add the spice to working life.
I have also switched to Xubuntu for these reasons. I'd probably be equally comfortable with GNOME 2x. I simply use vim with NERDtree and a bunch of other common plugins instead of an IDE.
I'm trying to switch to a Slackware environment with Fluxbox running in the front.
I've used Ubuntu for years, but realized that I had huge gaps about actual Linux knowledge because I was so used to the automation that Ubuntu provides.
Also I'm trying to learn emacs and vim now, and I'm really making an effort to go to a more keyboard/terminal oriented workflow. I'm getting faster and faster with it.
I've found Komodo Edit to be indispensable for PHP development on Linux. I haven't yet found an editor that does such a good job mixing PHP and HTML syntax highlighting, has solid autocomplete--even of custom classes--and is so easy to set up. Eclipse is far too massive, emacs/vim are too finicky to learn and set up, and gedit with lots of plugins is actually close doesn't do autocomplete well.
I recommend checking out KDevelop 4's PHP plugin, which probably offers the best semantic PHP support in an IDE on Linux (including 5.3's namespace support).
I use Awesome, but it's really not for someone who doesn't want to configure it to their tastes. I use it because unlike alternatives, I can easily configure it to my tastes. It takes time, but in the long run it helps my productivity.
It's just easier to develop in Linux than it is in any other OS. Being able to hit "sudo aptitude build-dep python-psycopg2" and then being able to "pip install psycopg2" without having to hunt everywhere for deps and it just work is one of the greatest things of all time.