Alright I will admit, I do use Microsoft products. Infact I don't mind them all that much. I am not saying I like it much better than my Mandrake machine but you get the point. My thread is not over which OS is better or you are stupid if you use this my thread is going to try to help me see if my "theory" is correct.
I know this has probably been talked about but I decided to through it out there again. I don't think M$ programmers are incompetant, infact I would be willing to bet that some of them are genious'. The write there program as best as they (true some bugs they acknowledge they knew about) can. However, we compare something like M$ a close source code that only those few programmers can create and tweak to something like Linux were millions of people can add their own ideas/information/code into the OS. So, I am wondering why does the computer world always make fun of M$ programmers. It isn't that they are bad it is that they are probably overworked ($$$) underpayed ($$$) need to meet rough deadlines ($$$) you can't blame them. Blame ($$$)
M$ management = ($$$)
By the way, I have no ties with microsoft and I don't know any of its programmers so I am not trying to defend anyone.
All I can offer on this is that in past experience in dealing with Windows programmers, they are
not very knowledgeable about the core language (C and C++) itself including a lack of knowledge
on data structures and efficient algorithm design, and an apparent lack of kowledge as to what the
computer hardware (CPU, RAM) is doing with their program or what their program is doing to the
CPU/RAM if you prefer.
Whether this is due to the amount of emphasis placed on GUI design, or the high level of abstraction
that Windows provides, or maybe some other reason I can not say.
It's Bill Gates fault, he orders them what to write, he probably tells them to make some secuirt issues, so some AV companies or something can come up with an Anti Virus patch to make money and share with M$.
At one time in the near past, Microsoft was one of the largest hiring companies for graduates from area Computer Science programs. There are more than just a few programmers at MS, BTW. The philosophy is (or was) to break projects into small chunks and parcel them out to teams. The teams would do the code and interface design, then bring it back to the project management group, where it would be put together.
An issue with this is that the coders are younger, less experienced and make mistakes (they are still learning). Imagine, if you will, the code required for Windows 2000 Pro. Millions of lines of C and C++, even some assembler, involving hundreds of coders in the production team. Try to imagine yourself as the project manager responsible for this and keeping everything working and on schedule. Kinda like herding cats.
Things are changing, now. Competition is stiffer, costs must be kept low and a lot of the coding jobs are going overseas to places like India and the Pacific Rim. Code still gets written, but the local Microsofties spend more of their time using code optimizers and analysis tools to find problems and security holes.
I could sit down and write a pretty decent text editor, HTML editing tool, or programming editor in about six hours using Delphi or Visual tools. This would be much less expensive than paying for third party tools our school buys. But, I wouldn't want to try to maintain or support it. I don't have the patience, anymore, or the time.
There is no way I would willingly take on an OS project. Not alone and not without some huge corporate support (legal and financial) behind me. Even then, I'd be reluctant. I am not completely insane.
Linux code, to date, is pretty much written by hundreds (not millions) of coders around the world who participate in a labor of love and science. There is beauty and art involved in this process, because those participating are the cream of the crop of coders. They aren't the average high school kid with some coding smarts. They are the PhD's and Master's in CS guys who also teach CS and programming, and work on Linux kernel in their spare time. And, it isn't just spare time, it is time they have _committed_ to the project.
I remember when the first Linux was released and read about Torvalds and the project that started the Linux ball rolling. I even downloaded and installed one of the first versions just to see what it was all about. It was fun, but wasn't something I could just hand to users I supported and turn them loose with it.
But, things change. IBM and others are getting their hands into the Linux pot and stirring vigorously. The legendary open source, free and non-commercial Linux is going away slowly. Soon, it will be just another commercial OS with a license that must be renewed on an annual basis, and an extra fee for support. And the open source community will have completely lost control of it. If the GNU license meant anything, companies like IBM and RedHat would not be able to charge the licensing fees they are for the product. That is being slowly erroded.