IIS doesn't run "in the kernel" firstly. DirectX interfaces with a HAL layer but technically DirectX doesn't operate in the kernel. Parts of the GUI does run in the kernel because, like all valid technologies, there are compromises to be made : Users and designers decided that the speed increase of putting it in the kernel were worth the decrease in reliability, especially if coupled with a zealous campaign for GUI quality (WHQL). With the proper drivers (esp. Matrox which makes astounding drivers) you get the speed increase with perfect stability.
As far as the porting, 2000 is a microkernel and can be ported easily however no one wants the ported versions. It's unfortunate but the Intel platform is simply the best choice for the majority of users currently so it was a waste of time making 4 or 5 other versions.
Source Control? I don't care, I work by myself. Advantage: none.
Source control is only partly about working with other people. It's mostly about maintaining a history of your code to easily determine what changed between versions and to back up screwups. I check in code several times a day (including textual descriptions of the changes I have made/are making) and it is absolutely invaluable. It's definitely far superior to maintaining a directory structure of 500 variants of a project's source.
There is zero (0) % chance that you were developing under Windows NT, otherwise the stated situation is impossible. Why in the world were you developing under Windows 95/98? Those aren't, nor have they ever been proposed as such, developer operating systems.
The point is that no developer in their right mind would develop in the fundamentally unstable 16/32 operating systems, so using that as an argument against Windows isn't very credible.
Just a couple of 'quick' notes regarding developing under Windows (notably Windows NT and 2000 : NO ONE would develop under the 16/32 OS' unless they were idiotic or insane) lest the tide get a little unbalanced based on misunderstandings or outright lies:
Windows has excellent source control products. Visual SourceSafe for instance will hold ground against any UNIX competitor, yet most UNIX competitors are also available for Windows with comparable feature sets. As a sidenote SS 2000 should be a great improvement as it'll be a true C/S database architecture rather than the current file based database which does have scalability limits.
Many Windows compilers (i.e. VC++) produce optimal code that is second to none
Windows has a wide variety of extremely good editors (the Visual C++ IDE stands out as exemplary. It is by no means perfect but it proves a very good companion), and simultaneously has all of the editors of the UNIX/Linux world. Emacs, vi, if you want it you can get it, and the command line is just the same when running these tools. Open source is still open source if you want to use it to make a Windows binary and plenty have done just that. All of the utilities (find, grep) etc are easily found and have been available (for free) for years.
Windows has excellent stability, contrary to claims otherwise here. Unless you're running with crappy video drivers and are exploiting GUI features that bring out the worst, you're likely to never have to reboot your PC. I go weeks between reboots and I work my machine as hard or harder than anyone else.
YOU DON'T HAVE TO PROGRAM USING THE MFC TO PROGRAM FOR WINDOWS! Indeed you can use the Standard C library and use streams and printfs in a console app if you really want! Comparisons that claim that they went from the MFC to console standard library calls in Linux and love the newfound simplicity are ABSURD and represent pure ignorance. Even if you want a GUI you don't have to use the MFC : Use the ATL, or better yet stick to the Win32 API and your own code. I continue to do this to great effect with all my own message handling and class hierarchies and it works great. People who can't get a grasp of the MFC and use this against Windows programming are idiots, to put it mildly.
Windows APIs have extremely good documentation. The MSDN is an unparalleled piece of documentation, and anything you'll want to do, in the vast majority of cases, is covered in the documentation. People who like to "Scratch their itch" by looking at the OS source code don't understand the concept of black box programming and that whole theory should be understood a little better ("here's my new program, oh and here's my modified distro of Linux to be able to run my program"). It's also dubious that people can just take a peek at the OS source code, hundreds of thousands of lines of highly related and counterbalanced code, and quickly see the fault. That is absurd.
I have no doubt that a lot of developers love Linux and for good reason, however the absurd and misdirected claims that I've seen in here, particularly claims of a nature that make it obvious that the person has no professional development knowledge (i.e. probably jump into vi and spit out a hello world app every couple of months and call themselves a programmer), have no purpose in factual discussions. That sort of nonsense serves no one except for their myopic, cultish obsessives who feel that a lie is acceptable if it follows what they consider to be moral.
Visual C++ has been under Microsoft's umbrella for over 8 years, WAY before intellisense (indeed it was a VERY basic product in those days), and even then it was a derivative of MSC 7 or something of that nature.
The lineage of a product doesn't claim credit for the current product if the lineage is far removed. SQL Server 7 owes extremely little to Sybase, for instance, yet that remains the rallying cry of the anti-M$ers.
What were YOU running? I develop on NT, now 2000, every single day and have done so for years. I leave my PC on 24 hours a day, and reboots are EXTREMELY rare and are usually the result of a power outage.
I crash programs left and right all day and the vast majority of the time kill task takes care of it. On the odd occassion that the explorer.exe has been corrupted (usually through spurious shell communications) I kill it and restart it (it doesn't require a system reboot).
I have to disagree. The only things stored as blobs in most Windows development tools are things that are blobs : Graphics, etc. A couple of exceptions to this rule have occured in the past but that is changing (i.e. Delphi now saves form layouts as text). As such you can fully do compares, histories, etc. Windows tools are equal to their UNIX compatriots.
One thing that is painfully clear after spending a short time in the land of Dilbertesque cubicle landscapes is that acronyms encapsulating total management methodologies are the bane of the clueless, talentless bore. Analyze the situation and use common sense and good wisdom to architect an individual solution for the particular peopleset and project needs? Nah. I'm using SuperSilverBullet-ECST-9 2001! Five times the productivity in half the time....or so the consultant says.
Speaking of that what you're talking about here is consultants trying to push themselves into every organization for nice big fat paycheques. ISO 900x is a hilarious set of standards that basically come down to : Document and be consistent. GENIUS! Yet there are millions of consultants on this planet making billions of dollars to go in and say "Document and be consistent. Here's a word template that would take a normal man about 3 minutes to make. That'll be $125,000 please."
What this reminds me of are software development "methodologies" that could be summed up as this : Lots of idiotic, no talent Visual Basic programmers feel contempt for their more talented coworkers so they propose and push and fight for a lowest common denominator sort of system that removes the benefits of being talented. You carefully crafted an algorithm that solves XYZ? So what did you preceed it with a completely useless blobbogram and 1,500 pages of documentation? If not then gosh you're a dangerous man! I mean how can your code be any good if some code-monkey who should be in the field of burger flipping but lucked into a programming course can't understand it?
IIS doesn't run "in the kernel" firstly. DirectX interfaces with a HAL layer but technically DirectX doesn't operate in the kernel. Parts of the GUI does run in the kernel because, like all valid technologies, there are compromises to be made : Users and designers decided that the speed increase of putting it in the kernel were worth the decrease in reliability, especially if coupled with a zealous campaign for GUI quality (WHQL). With the proper drivers (esp. Matrox which makes astounding drivers) you get the speed increase with perfect stability.
As far as the porting, 2000 is a microkernel and can be ported easily however no one wants the ported versions. It's unfortunate but the Intel platform is simply the best choice for the majority of users currently so it was a waste of time making 4 or 5 other versions.
Source Control? I don't care, I work by myself. Advantage: none.
Source control is only partly about working with other people. It's mostly about maintaining a history of your code to easily determine what changed between versions and to back up screwups. I check in code several times a day (including textual descriptions of the changes I have made/are making) and it is absolutely invaluable. It's definitely far superior to maintaining a directory structure of 500 variants of a project's source.
There is zero (0) % chance that you were developing under Windows NT, otherwise the stated situation is impossible. Why in the world were you developing under Windows 95/98? Those aren't, nor have they ever been proposed as such, developer operating systems.
The point is that no developer in their right mind would develop in the fundamentally unstable 16/32 operating systems, so using that as an argument against Windows isn't very credible.
I have no doubt that a lot of developers love Linux and for good reason, however the absurd and misdirected claims that I've seen in here, particularly claims of a nature that make it obvious that the person has no professional development knowledge (i.e. probably jump into vi and spit out a hello world app every couple of months and call themselves a programmer), have no purpose in factual discussions. That sort of nonsense serves no one except for their myopic, cultish obsessives who feel that a lie is acceptable if it follows what they consider to be moral.
Visual C++ has been under Microsoft's umbrella for over 8 years, WAY before intellisense (indeed it was a VERY basic product in those days), and even then it was a derivative of MSC 7 or something of that nature.
The lineage of a product doesn't claim credit for the current product if the lineage is far removed. SQL Server 7 owes extremely little to Sybase, for instance, yet that remains the rallying cry of the anti-M$ers.
What were YOU running? I develop on NT, now 2000, every single day and have done so for years. I leave my PC on 24 hours a day, and reboots are EXTREMELY rare and are usually the result of a power outage.
I crash programs left and right all day and the vast majority of the time kill task takes care of it. On the odd occassion that the explorer.exe has been corrupted (usually through spurious shell communications) I kill it and restart it (it doesn't require a system reboot).
I have to disagree. The only things stored as blobs in most Windows development tools are things that are blobs : Graphics, etc. A couple of exceptions to this rule have occured in the past but that is changing (i.e. Delphi now saves form layouts as text). As such you can fully do compares, histories, etc. Windows tools are equal to their UNIX compatriots.
One thing that is painfully clear after spending a short time in the land of Dilbertesque cubicle landscapes is that acronyms encapsulating total management methodologies are the bane of the clueless, talentless bore. Analyze the situation and use common sense and good wisdom to architect an individual solution for the particular peopleset and project needs? Nah. I'm using SuperSilverBullet-ECST-9 2001! Five times the productivity in half the time....or so the consultant says.
Speaking of that what you're talking about here is consultants trying to push themselves into every organization for nice big fat paycheques. ISO 900x is a hilarious set of standards that basically come down to : Document and be consistent. GENIUS! Yet there are millions of consultants on this planet making billions of dollars to go in and say "Document and be consistent. Here's a word template that would take a normal man about 3 minutes to make. That'll be $125,000 please."
What this reminds me of are software development "methodologies" that could be summed up as this : Lots of idiotic, no talent Visual Basic programmers feel contempt for their more talented coworkers so they propose and push and fight for a lowest common denominator sort of system that removes the benefits of being talented. You carefully crafted an algorithm that solves XYZ? So what did you preceed it with a completely useless blobbogram and 1,500 pages of documentation? If not then gosh you're a dangerous man! I mean how can your code be any good if some code-monkey who should be in the field of burger flipping but lucked into a programming course can't understand it?