Linux or Windows, Which is Best For Developers???
March 31st, 2009 | Linux, Opinions, Windows | No Comments »
When a programmer chooses his hardware, he doesn’t go around like most people. He has to greatly consider what he’s buying. Well, we’ll leave that aside for now, and we’ll look at software, more specifically the OS. The two most used operating systems in development have to be Windows and Linux; Mac OS X is a terrible platform, and hardly anyone develops for it, except major companies like Skype. When considering what platform to choose as a development environment consider these things. Which has a better API???, Which will more people use???, How much will this cost me (both in time and money), and What Compilers/IDEs are available???
Now we’re gonna look at all of those.
Which has a better API??? - OK, I’ve never programmed under Linux, but I think in some ways it would be easier than Windows. The Win32 API has to be the worlds most complex piece of crap ever written! I love Windows but it takes forever to learn as well as master(I know, I’ve tried; and I’m an OK Windows programmer). Now Linux is really Unix deep down inside, which is a system fewer are familiar with. However, if you can use Windows you could learn Unix. Its structure is a little more “system-like” if you will, but you can figure it out. The only problem with is that Linux doesn’t really have an API. I must state that I’ve never programmed under Linux, but from what I’ve heard, it’s application programming interfaces are truly messy and even surreal. You see, their are hundreds of Linux Distros, each written by different people, and the all include different things. Some have KDE, some GNOME, other XFCE. Some have GTK+ others QT. You see, there is no universal Linux, except for the Kernel. While Windows is more difficult, it’s stable. Sadly Linux lost this round because of it’s non-standards
Which will more people use??? - Let me start out simply by saying that if you want your software to be used by the masses, then it better be Windows. Microsoft ran a commercial the other day stating they had over 1,000,000,000 PC users!!!!! However, if your software is not meant for common user usage (like Server stuff), or is meant to be Open Source, then Linux is the way to Go. For this round, Windows definitively won.
How much will this cost me (both in time and money) - There are three factors that affect resources. Time, Money, and Development Team. Those three things in my opinion are the most important in software development. Now the third really isn’t affected by the OS your running, so we’ll look at the first two. Time! Time is of the essence! If you have to spend more time configuring a system than coding, then you my friend have a problem. Let’s look at Windows first. You buy a PC and it’s pretty much ready to go! You get rid of some of the software it brings, install an Antivirus/Firewall, your development tools, and maybe even Mozilla Firefox. The whole thing is done in an hour or two. Now look at Linux, you pop in the disk. It’s pretty much good to go, unless you encounter a problem!!!! If you were to let’s say be unable to get your wi-fi to run, you’d have to find the right driver; and with it’s low support that could take hours. Then there’s the configuration. Linux is not point and shoot, it’s point, Google, then shoot. I don’t wanna be to mean to Linux, but that OS can be a real time consumer. I spent hours with many failed attempt before getting it right, all in the name of Linux! Now, sometimes Windows takes a while to fix, or in that case reinstall, but the upkeep of Linux is a great disadvantage. Now for the second, money. Windows Vista Home Basic costs $99 bucks at the store; Debian free. Most free software for Windows is either a trial, express, or has a marketing strategy behind it. The exact oppisite is in Linux. Debian has over 20,000 free pieces of software (that_a_lot = true;). So when it comes to money, Linux is champ. Now to illustrate this I think I’ll use one of those MasterCard Commercials
Example 1: Windows Vista Home Basic…99 Dollars, Extra Goodies…250 dollars, Getting a Wonderful, Rich, Development Environment…Priceless
Example 2: Debian 5.0 Sid…Free, Extra Goodies…Free, Getting a Platform Hardly Used, With no Solid API…Worthless
What Compilers/IDEs are available??? - This really depends on the language your using. For Java, the JDK is cross platform, but that’s not always the case. Why don’t we consider C++??? In Linux the main compiler/linker is g++. Now, I’m not saying the command line sucks, heck I love it, but creating an application through it is a pain. In Windows that kind of thing doesn’t exsist, well it does, but forget that for now. In Windows there are tons on IDEs available. The monsterous Visual C++, Borland C++ BuilderX, Code::Blocks, that’s just to name a few. Now what IDEs are in Linux??? Anjuta???? Well, if you like limited choice, then Linux it’s for you.
Well, in conclusion, consider this article, I’m bias to Windows, but what I’m saying is true. In my opinion Windows is the best platform in the world, but truly the choice is up to you. I gave you a few things to ponder upon and I hope you can make a great choice.
Until next time,
~This is Mike Signing off