Unix Programmers versus Windows Programmers

It has recently come to my attention that folks out there think there is ratio of 1 to 1 of unix programmers (or linux) and Windows or microsoft programmers.

I have found a very apt comparison from Joel on software. In the world of reusable, modular code there is nothing like a linux/unix programmer and their code is reusable and much faster to program.

Here is the link. http://www.joelonsoftware.com/articles/Biculturalism.html

Suppose you take a Unix programmer and a Windows programmer and give them each the task of creating the same end-user application. The Unix programmer will create a command-line or text-driven core and occasionally, as an afterthought, build a GUI which drives that core. This way the main operations of the application will be available to other programmers who can invoke the program on the command line and read the results as text. The Windows programmer will tend to start with a GUI, and occasionally, as an afterthought, add a scripting language which can automate the operation of the GUI interface. This is appropriate for a culture in which 99.999% of the users are not programmers in any way, shape, or form, and have no interest in being one

So you get these religious arguments. Unix is better because you can debug into libraries. Windows is better because Aunt Marge gets some confirmation that her email was actually sent. Actually, one is not better than another, they simply have different values: in Unix making things better for other programmers is a core value and in Windows making things better for Aunt Marge is a core value.

Now you can see that one unix programmer can do much much more than a windows programmer. Unix programmers are grown in neighborhoods all over the world. Windows programmers are sent to Microsoft to chant and smoke from the great crack pipe in Bellingham. Now you can see why I included Joel’s much more review that is more palatable. Open source software and linux/unix based software just work much better. That is if you want to get the job done rather than paint pretty pictures.