Linked by Thom Holwerda on Sat 11th May 2013 21:41 UTC
Windows "Windows is indeed slower than other operating systems in many scenarios, and the gap is worsening." That's one way to start an insider explanation of why Windows' performance isn't up to snuff. Written by someone who actually contributes code to the Windows NT kernel, the comment on Hacker News, later deleted but reposted with permission on Marc Bevand's blog, paints a very dreary picture of the state of Windows development. The root issue? Think of how Linux is developed, and you'll know the answer.
Thread beginning with comment 561214
To read all comments associated with this story, please click here.
Comment by ansidotsys
by ansidotsys on Sat 11th May 2013 23:07 UTC
ansidotsys
Member since:
2008-08-15

Looks to me like this is getting overblown. Personally, after reading the title, I was expecting a technical response for a technical claim. Instead, what I got was a pseudo-socio-political response. Reading it through, it is clear to me that whomever this is, wrote it as an off hand rant.

What it comes down though is that MS development is conservatively managed whereas the Linux kernel is not. This can be an advantage for stability for Microsoft or for the many incremental improvements for Linux. When your userbase is in the billions, it makes sense to be conservative. You don't see major rewrites of significant subsystems in Windows because of this. How many times does the Linux driver ABI change? How many IPCs are there going to be? SystemD anyone? Etc, etc..

In any case, the development methodology of both Linux and Windows have their merits. Linux, obviously, is better suited for the high churn and just-recompile-it environment that comes with being an open source project. In fact, this goes hand-in-hand with the just-throw-it-away mentality of the cell phone market. Clearly that market has proven conducive to the Linux model.

On the other hand, Windows allows for many leaf projects (such as commercial games) to succeed that would generally require far too much maintenance under the former. Steam is trying to mitigate this by shipping software outside the main dependency-resolution packaging world. The same is true for a vast majority of new peripherils and their drivers.

In any case, they both have merits.

Edited 2013-05-11 23:11 UTC

Reply Score: 6

RE: Comment by ansidotsys
by galvanash on Sat 11th May 2013 23:24 in reply to "Comment by ansidotsys"
galvanash Member since:
2006-01-25

I was about to make a very similar post, but you saved me the effort. Yes, Microsoft has to compete with open source, and open source has some very tangible advantages... But its not black and white - having to answer to a board, working within a schedule, and prioritizing work based on things other than technical merit create a certain level of discipline and efficiency of effort. Its not always pretty, but its not all bad either. Some good things come out of that approach too.

Reply Parent Score: 4

RE[2]: Comment by ansidotsys
by TechGeek on Sun 12th May 2013 01:44 in reply to "RE: Comment by ansidotsys"
TechGeek Member since:
2006-01-14

True, but to be fair, the original author of the "rant" was talking from a purely technical stand point. He was a developer, not a salesperson or corporate exec. And in the product space of software, the technical aspects of it are what matters the most. You could be the most efficient hacker in the world, but if your software sucks, who is going to but it?

Reply Parent Score: 4

RE[2]: Comment by ansidotsys
by bert64 on Sun 12th May 2013 12:53 in reply to "RE: Comment by ansidotsys"
bert64 Member since:
2007-04-23

Having to work within a schedule also encourages (and in some cases requires) corner cutting.

Reply Parent Score: 3

RE: Comment by ansidotsys
by ilovebeer on Sun 12th May 2013 05:42 in reply to "Comment by ansidotsys"
ilovebeer Member since:
2011-08-08

You're absolutely correct. I'd also like to add that the person who wrote the original posting is exaggerating it as well. I know quite a few people (across nearly every division they have) who work for Microsoft and the stories I hear from them paint a little different of a picture. While Windows development is indeed compartmentalized, there isn't nearly the lack of communication the OP is trying to claim. There are a lot of great programmers there, including younger ones.

BTW, everyone I know who works there loves it. The only real complaint I hear is from the ones doing contract work who would prefer they just be hired on directly.

Reply Parent Score: 5

RE: Comment by ansidotsys
by cdude on Sun 12th May 2013 06:13 in reply to "Comment by ansidotsys"
cdude Member since:
2008-09-21

When your userbase is in the billions, it makes sense to be conservative

1. Metro API vs win32. The insight explains why doing new rather then fixing and extending existing.
2. Android. Conservative, billions of users, Linux.

You don't see major rewrites of significant subsystems in Windows because of this

You don't see them in the Linux Kernel either. Major rewrites wasn't the point at all. Its about incremental improvements.

How many times does the Linux driver ABI change?

Public API/ABI, like for userland, did not change since a decade. The Linux Kernel has very strict rules to not change those parts. Private API changes.

How many IPCs are there going to be? SystemD

dbus and systemd are not Kernel but userland. Userland changes, also on Windows.

Edited 2013-05-12 06:32 UTC

Reply Parent Score: 14

RE[2]: Comment by ansidotsys
by Kebabbert on Wed 15th May 2013 16:51 in reply to "RE: Comment by ansidotsys"
Kebabbert Member since:
2007-07-27

>>You don't see major rewrites of significant subsystems >>in Windows because of this

>You don't see them in the Linux Kernel either. Major >rewrites wasn't the point at all. Its about incremental >improvements.

Hmmm... You should know that Linux gets major parts rewritten all the time. The code is always in beta stage, the new bugs are never ironed out before the code is rewritten again. Linus Torvalds said that "Linux has no design, instead it evolves like nature. Constant evolution created humans, so constant reiteration and rewriting is superior to design." Just google on this and you will see it is true. Big parts are rewritten all the time. I am surprised you missed this. Apparently you dont read what Linux devs says about Linux.

http://kerneltrap.org/Linux/Active_Merge_Windows
"the tree breaks every day, and it's becoming an extremely non-fun environment to work in. We need to slow down the merging, we need to review things more, we need people to test their [...] changes!"

http://www.tomshardware.com/news/Linux-Linus-Torvalds-kernel-too-co...
Torvalds recently stated that Linux has become "too complex" and he was concerned that developers would not be able to find their way through the software anymore. He complained that even subsystems have become very complex and he told the publication that he is "afraid of the day" when there will be an error that "cannot be evaluated anymore."

Reply Parent Score: 2

RE: Comment by ansidotsys
by kaiwai on Sun 12th May 2013 13:46 in reply to "Comment by ansidotsys"
kaiwai Member since:
2005-07-06

Don't confuse the lack of a road map and rigor mortis as being conservative because what is occurring right now (and hurting Microsoft) is 10+ years of bumping around in the wilderness with no long term development road map. If I as a third party look on I want to know where Microsoft is heading - what is the role of WinRT? is there a future of traditional desktop applications and if so has development of win32 ceased in favour of WinRT? are Microsoft supporting C++ '11 and if so what is the road map for the implementation of those features so that developers can plan for features emerging? then there is longevity - are we going to see Microsoft once again bumping around flinging crap against the wall in the form of pushing out API's onto to kill them off later on when the programmers at Microsoft either get bored or realise that they really didn't fully think it through?

Then there is views such as the former lead of Windows, Jim Allchin, who labelled legacy code as an asset whilst ignoring that it can quickly become a drag on future development; that backwards compatibility is good and when a better solution to provide that compatibility is provided such as virtualisation then it should be taken advantage of. Here we are in 2013 and Windows is still suffering from the laundry list of issues I've raised in previous posts - one might have forgiven them in the past due to technical limitations but these days with virtualisation there is no reason why development is merely putting a new coat of paint in an rickety tug boat that has seen better days.

Reply Parent Score: 5

RE: Comment by ansidotsys
by Darkmage on Thu 16th May 2013 01:32 in reply to "Comment by ansidotsys"
Darkmage Member since:
2006-10-20

that is complete crap. Microsoft have had no qualms about rapidly deprecating large parts of DirectX, just look at development of DirectX 1-7 to see that. Game development on Linux is as easy or easier than it is on other platforms. The main reason for the lack of titles is developer perception or the userbase and installbase. Lokigames showed over 10 years ago that Linux games could be made easily, but they also couldn't prove the business case. Only just now is the business side becoming viable in terms of installed numbers etc. The sales figures from Loki alone illustrate this. Sell 3000 copies of a game and you're not going to make a profit on your ports.

Reply Parent Score: 2