If you know me you would have read the title with eyes wide open. I am one of those (and well-known for being those) who always take the side of Windows in Mac vs Windows debate. And I still love Windows more than I would ever be able to love Mac. The reasons are pretty obvious, over a million software apps, games, compatibility, ease of access and worldwide support. What more do you want?
But then that need to have to access to a million apps for almost every possible day-to-day tasks is of a common computer user. The other side of me is not so. It has more specific needs.
I have been developing web applications under Windows (Photoshop, Illustrator, Dreamweaver, Notepad++) for more than 2 years now, until recently. For past few projects, I’ve been doing all my development work on a Cent OS Virtual Machine inside Windows internally connected via multiple networks (internet, file sharing etc.).
A few things that I hated while developing on windows are:
- The File System: I believe every developer would agree to this. Windows file system sucks. It is very primitive, restrictive and putting it in one word – naive. You must go through a dozen windows and pop-ups to change file permissions. Even then, you solve your problems only by making it public.
- Development Tools: Most web development tools are more suited to Linux. Linux has a huge list of powerful tools then make life easier. And often I find it easier to control and configure these tools on Linux than Windows, despite its highly evolved GUI.
- Linux is light as feather: Two months on Windows and you is already thinking of reinstalling it. Windows grows older and is heavy on hardware too. Linux on the other hand is often blazing fast (no, I’m not talking about GNOME 3.). GNOME 2, Linux’s default file system (in RedHat and CentOS) is fast and minimalistic, giving you a clean environment to work in.
I can go on and on about how Windows is not a good development OS, especially for web developers. BUT there are certain things Linux is ages behind in matching the capabilities of Windows.
Developing for web often requires a certain amount of digital graphic. It can range from adjusting properties of an image to creating the whole image and more. Having worked on applications like Photoshop and Illustrator, it feels suffocating to work on Linux’s digital graphic application GIMP. For this very reason I use a Linux Virtual Machine, so that I can easily switch back and forth between Windows and Linux, and do all the graphic work with ease. But is this a right solution? May be/May be not. I know I can’t do this on a long run. And this is why I feel Mac is probably the best OS for a web developer.
- Mac is based on Unix. The file system is similar to the one in Linux. That means, unlike Windows, no file permission headaches.
- Many development tools that are available on Linux are also available on Mac (and Windows as well but again, the file system doesn’t make it easy sometimes)
- Easy to control and configure: Being based of Unix, like Linux, Mac is also often easy to configure. I haven’t worked on a Mac for development purpose till date but all the tutorials I’ve read does make it seem so.
- You can install Adobe Suit and all those super-applications on Mac!
Need I say more? On a Mac, you’ve features of both, Linux (not all of its awesomeness though) and Windows. I think it makes a fairly complete development OS for me. And it is decided that my next Laptop/PC is going to be a Mac.
Despite Mac being the good of both worlds, Linux is still much more powerful and if all you do is code, and not design at all, Linux is the OS for you. Mac seems to be a better choice for a guy like me, who has equal interest in Front End and Back End.
And before you use my arguments above to say Mac is a better OS, I would clear that there is no answer. Every user is different.
BUT as a common-man OS, nothing beats Windows.