After a few months of using Mac as a playground and development machine I took a little step back to remind myself of all different environments/systems/platforms I was using in my short development carrier. I know what you think, that I will say Mac is the best. But it actually it isn’t. At least not for me. Why?
Linux
I used Linux in my early days of development. I was coding on practically knitted together pice of hardware with free operating system. I was using Mandrake and Suse, switching between them constantly . After few years I switched to Ubuntu. Using Linux as development platform was harsh and raw when I started. After few ups and downs I got to grips with it and it server well as platform for PHP, Java and Ruby development. With Ubuntu it was extremely easy to install new software and be up to date. I never managed to crash it (no blue screens of death).
There was one quite big issue with it though, lack of .Net development environment. I have to mention as well problems with file formats in the every day office life.
Windows
The only environment that I could develop on targeting Windows environment as runtime. With .Net and C# Windows became bearable and useful. I didn’t have problems with office documents compatibility anymore. It was possible to set it up with Unix like command line tools and possible to script and automate a lot of build/setup tasks. There was one very big flow in the setup. After few days of usage, somehow Windows manage always to crap itself with plenty of junk and gets very slow. The most common solution for that problem was … reinstall.
Mac
Very shiny and friendly. I love the 4 fingers swam and expose. It has Unix/Linux command line out of the box so I don’t have to install anything for that. Comes with a bunch of tools for development. Unfortunately most of them are for Mac development.
Once you would like to get a latest version of Java, Ruby or Python, it is impossible to simply change or upgrade the version as parts of the system (some OSX applications) depends on specific version. So … I was in a hassle to build it up for what I wanted it to be. Now when it’s ready, it rocks. It would be very cool if some of the task that needs to be done in order to make it work I had to google and spent some time on it.
So … for me the best platform is …. LINUX, TADAAA. Simple and to the point on installing different environments. Huge community with plenty of tips, easy to find. With OpenOffice.org and Google Docs pain of documents incompatibility disappears.
I guess for me the winner is the one that gets me up and running in no time and is very easy and Agile when I want/need the change.
What’s your favorite Platform? What do you like and what dislike. Please take a moment to answer this short survey or just post a comment 🙂 I will post the results and survey findings in next few weeks.
Survey closed
Greg
I like a Mac, with a headless VM running Ubuntu Server, and a shared folder. All the Mac goodness plus apt-get, and you can blow the VM away and start again when you screw up. It’s the future.
This is the setup I’m currently running 🙂
I also came along this path – first Windows for approx 6 years, then dual booting into Ubuntu for 3 years (due to Lotus Notes, and some other stuff that didnt quite work well on Linux), now Mac due to RoR development, and – at the time – TextMate being the best editor for RoR. Now I am contemplating going back to Ubuntu – for exactly the same reasons that you outlined. Please keep me posted which way you go finally.