I recently decided that I was no longer going to use windows as my main operating system. why? well let me list the reasons
1) As a developer and advanced computer user, windows makes things some what complicated. Now it's nowhere near as bad as OS X but things like command lines tools either don't exist or just arn't intuitive. I've been using windows all my life and for most of that time It's been my operating system of choose it has better game support, most major applications and products are made for it almost exclusivity. yet when I use it I feel like I'm making Windows work for me not the other way around.
2) Windows feels... broken, now that's the wrong word. put it this way, if I were to be made lead developer of windows my first major task for the team before we could start work on the next release would be to re factor the entire operating system to makes it much more modular. when I compare windows to a *nix system the first thin I note is that *nix runs on literally 100's of packages that some how aren't interdependent. the result is a highly modular system with a unified language and system of operation and everything seems to integrate seamlessly.
Whats more when you get down into the advanced layers of the system when your using the terminal, running commands it doesn't feel like the system is impairing you. *nix was build to be run and used entirely form the terminal and the result even today it is the operating system of choice for servers where simple easy yet robust remote access is key for this reason. to day as I move more and more towards work with these technologies I find windows severely lacking in good tools in this department. When I work with the command prompt on windows I feel like I'm trying to use a extremely limited set of tools to do complex tasks, I have to actively find and add tools to the system path to do what I want
3) I can do most everything on Ubuntu that I normally do on windows exceptions being high end games (which; do to recent developments like Valve Software's activism and things that Canonical, Ubuntu's corporate sponsor; is doing is likely going to change soon) be it Photo editing, programming ect. the open source community around linux and Ubuntu provides often great software for just about any task imaginable.
4) Scripting languages like ruby and python have native support in Linux, the Unity dashboard in Ubuntu is powered by python, so customization of my computer is easy and I can build tools that quickly and eaisaly integrate into the OS
5) Obtaining new software is incredibly easy. thanks to the Debian package distribution system you almost never have to download and install software yourself. the software center ties into your sources and can find and install anything. it not like an apple appstore or the newly fangled windows store where only approved apps can live as long as you have added the software repository to your tracked software sources the center can find it. and if not you can always open the package manager and do the search in a slightly less nice way. oh, and it will automatically inform you of all updates too
6) Opensource software is high quality stuff, most of the time. lets face it Opensource software on Lynix has a reputation for being crap ware while windows and OS X have a reputation of always having clean nice looking software. when in fact the opposite is true more often than not.
I recently had an experience where Apple's own Appstore reveal just how crappy (and or lazy) it's developer are when my internet connection broke in the middle of downloading XCode, the result is that 1 hash check failed and while the thing was clearly using a block hash check download system as you could pause and resume the download that 1 hash check fail cause the Appstore to scrap the entire download when by all reason it should of just started from the last sccessful chunk like bit torrent and other download managers do. after it did this a second time I scrapped that, got the "Download them all" plugin for firefox and found another source for the download. when I willingly scrap the native system and do something in a roundabout way you know there's a problem.
I've had similar experiences in windows when it was clear that the developers of the product were incredibly lazy and the end result is a very quirky program that doesn't work well with others.
On the Opensource side I've never had this happen. contrary to popular belief I find that developers of opensource software who are willingly donating their tie more often than not take the time to do it right with though towards how others who will have to work with their code. where as windows developers who code will likely never see the light of day is anything but clean and workable
thanks for reading this little rant, if you would like to comment or expand on any of the point I made here feel free to reply, I'd like to hear your thoughts