Slashdot Mirror


Why Vista Release Date Really Slipped

anzev writes "A team manager for Windows for 5 years has decided to write a blog-essay about what caused Windows Vista project to miss the due date. Philip tells us in the blog, that Windows developers are writing an average of 5000 lines of code (which is *only* 1200 lines less than the national average of 6200 lines of code per year). He addresses issues like the Vista code being too complicated, the processes the developers have to follow too complex and a lot more. All in all it gives a nice insight into why Vista will be late, from a different perspective. Oh, and Slashdot gets mentioned too ;-)."

111 of 562 comments (clear)

  1. SLOC: Vista vs. Linux by (1+-sqrt(5))*(2**-1) · · Score: 4, Interesting
    From TFA:
    We shouldn't forget despite all this that Windows Vista remains the largest concerted software project in human history.
    David Wheeler, for instance, calculated that Redhat 7.1 contained 30,152,114 physical source lines of code (SLOC), a 60% increase over 6.2 (and that was in 2001).

    Linear extrapolation would take us to about eighty-two-million today, comfortably over Vista's projected fifty-million; but who's counting?

    1. Re:SLOC: Vista vs. Linux by (1+-sqrt(5))*(2**-1) · · Score: 3, Insightful
      You can linearly extrapolate software development?
      No: it's as silly as SLOC being a measure of software's quality.
    2. Re:SLOC: Vista vs. Linux by linvir · · Score: 3, Funny

      According to this data, those figures put Vista somewhere above Piccolo after merging with Kami, with Red Hat at the level of Super Saiyan Vegeta (after time chamber). In the words of the late great Leonard Nimoy, fascinating.

      Also, what bracketing convention does each of those use? Are Red Hat artificially inflating their count with 15,000,000 lines consisting of

      {
      and another 15,000,000 consisting of
      // loop starts here
      ?
    3. Re:SLOC: Vista vs. Linux by plover · · Score: 5, Insightful
      I think you're completely discounting the original usage of the word "concerted."

      Debian isn't a concerted effort by any stretch of the imagination. It consists of thousands of modules that really exist independently of one another; the vast majority of them were not even written specifically for Debian at all, but rather for Linux in the general sense. They were simply included in the package. I'd go so far as to guess that some of them made it in "by proximity" -- they were in the same directory as something useful, and someone came along and did a 'cp coolutility/* /distro/coolutility/*'.

      Now, if the Debian project managers were told to write specs for all n-thousand of these modules, and then told "deliver these modules so we can have the next 'eager beaver' release," then you'd be looking at a concerted effort.

      --
      John
    4. Re:SLOC: Vista vs. Linux by Orange+Crush · · Score: 3, Insightful

      It also depends on how you draw the line on what's a single software product.

      Vista Ultimate is going to have tons more code than Vista Basic simply because of all the extra bundled apps. Linux is another good example--Red Hat includes the GNU tools and assorted applications, Ubuntu's base distro fits on a single CD, whereas Debian and SUSE's official distros provide everything but the kitchen sink and probably contain an order of magnitude more code as a result.

    5. Re:SLOC: Vista vs. Linux by cow-orker · · Score: 2, Funny

      So the difference is that Debian is nicely modular while Vista is impenetrable spaghetti code.

      Figured as much.

    6. Re:SLOC: Vista vs. Linux by geordie_loz · · Score: 5, Funny

      I didn't think that Leonard Nimoy was "late", wikipedia and imdb make no mention of it.

      Has this just happened, or are you personally aquainted with said gentleman and simply lamenting his constant tardiness?

    7. Re:SLOC: Vista vs. Linux by Criterion · · Score: 4, Funny

      "In the words of the late great Leonard Nimoy, fascinating."

      Good grief man, Leonard Nimoy isn't dead, don't use "late" like that. I went running looking for news after I read this... are you trying to give me a heart attack?!?

      Live long and prosper.

      --
      We have enough youth, how about a fountain of SMART?
    8. Re:SLOC: Vista vs. Linux by _|()|\| · · Score: 4, Insightful
      Linear extrapolation would take us to about eighty-two-million today, comfortably over Vista's projected fifty-million

      Linux distributions (including this linearly extrapolated Red Hat Linux) contain an office suite, development tools, and a DBMS, so you should also compare them to Office, Visual Studio, and SQL Server.

    9. Re:SLOC: Vista vs. Linux by ZeroExistenZ · · Score: 2, Insightful
      software project vs physical source lines of code ...

      Since when is the size of a project and needed resources expressed in lines of code?

      Consider a 5 person project with one manager. They're building an "innovating revolutionary" program.
      Bob came up with the same idea, but codes in his free time... However Bob is less organized in his coding, and still is "learning" so his code will be less efficient.

      The team releases their version, as does Bob.
      Bobs program counts more lines then the teams' but the team put more resources into managing the project and communicating back and forth between 6 people which takes alot of organisation, meetings, brainstorms and some sort of coding-standards/protocols to be able to work together on the same code when Bob just turned on his PC whenever and just coded away.

      Now which project is 'bigger'?
      Bob's project? or the teams'?
      Bob has written much more code but the team put alot more time and resources in theirs.

      --
      I think we can keep recursing like this until someone returns 1
    10. Re:SLOC: Vista vs. Linux by mikeypimp · · Score: 3, Funny

      45, it was written in Perl.

    11. Re:SLOC: Vista vs. Linux by Zigurd · · Score: 5, Interesting

      Now, if the Debian project managers were told to write specs for all n-thousand of these modules, and then told "deliver these modules so we can have the next 'eager beaver' release," then you'd be looking at a concerted effort.

      You have answered youself: TFA asks if a project the size of Windows in controllable. In an environment where the tone is set by Steve Ballmer the answer sure looks like "No." Maybe "Hell no."

      TFA also states Windows has 50 layers and circular dependencies. Linux has complex version and interface dependencies, too. But, evidently, the Windows dependencies are hairy enough to flummox 2000 smart people working in "concert" while Linux gets by with only a handful or people working in the same place at the same time and a much simpler process.

      That is, Linux has better modularity and less process.

      That points to the depth of the problem at Microsoft: They will have to change almost everything about how Windows is made in order to get a different result:

      They have to stop telling developers to "do or die." Has that ever happened in the entire course of Linux development? Probably not. It's something that software project management can do without.

      They have to get strong product management that knows which features are actually important, so you don't get that "do or die" message being sent to teams that are making things that don't add that much value.

      They have to decouple development more: Why on Earth do you need to have 2000 people working in concert on any software project? That's a bug, not a feature.

      They have to un-layer their management structure. 11 layers? That's ridiculous for a software company.

      There is no one prescription for success. Apple succeeds by having very strong product management, so they know which features are actually important to the end user. Linux succeeds by having no product management at all, and having to adapt process to the practical constraints of being FOSS. Microsoft is stuck in the middle: Not enough product management strength to know which parts really deserve a "do or die" effort, and so much process, interdependency, and management layers that any of the 500 product managers Microsoft already employs that are smart enough to make these decisions can't possibly put them into effect.

    12. Re:SLOC: Vista vs. Linux by vijayiyer · · Score: 2, Insightful

      I miss the days when people took pride in using less code and/or more efficient code to do a given task. Now writing *more* code to do a task is in vogue?

    13. Re:SLOC: Vista vs. Linux by Dunkirk · · Score: 2, Interesting

      Excellent. That's exactly right. Just be sure to include the costs when comparing all of this. So... while you're right that you're comparing entire up-and-running, productive systems, the Linux one is still free (or, say, $60 for SuSE) versus the Windows one, which is now into the low thousands of dollars. Go ahead, keep adding things to comparison: firewalls, chat clients, web browsers, application servers, infrastructure services. All free. All included. And now you're talking about, literally, tens of thousands in licensing fees with Microsoft. And, in the case of any Linux distro I'm familiar with, all these packages are kept up to date with each other for security patches. And all the drivers (except nVidia, grrr) get updated with a new kernel. Truly one-stop-shopping.

      About 7 years ago, I counted up that I had personally spent several thousand dollars on Microsoft products. I don't believe in pirating this stuff. Rather, when I thought about the kind of money I had been spending, and EXTRAPOLATED to what I'd spend in the future, I backtracked to the fact that I knew Linux pretty well, and I decided to make the switch. I've used Linux as my desktop as well as my servers since then. (And my first question to my local Mac-head was whether the new Mac's could triple boot OSX, Windows, and Linux.) I used Linux at work for years until my latest boss told me specifically that I couldn't run Linux. (I asked, if I was getting my job done, what it mattered. He didn't have much of an answer, but I let it drop.)

      Since that time (Windows & Office 2000), the only money I given Microsoft has been the $15 co-pay for Windows XP that I got while attending the local college. At the time, I also got Office XP and MSDN Student Ed. for free. (Did I subsidize Microsoft with my tuition? Well, my employer did.) Yesterday, someone asked me to pirate a copy of Office for someone else, because that person didn't want to pay $400 to go buy a copy. I said no way. That's the whole point. Microsoft gets away with their practices because deals like the one with colleges, but that's a lot of money to a person who does volunteer work! That's the deal. It IS unfair. If you don't like it, then rightly be upset with Micrsoft's stranglehold on the market and do something about it. I told him to download OpenOffice and stick it on a CD for this other person. If 100% compatibility is worth hundreds of dollars to you, more power to you. But it's not to me, and I'm hoping that more people come to see it that way.

      --
      Acts 17:28, "For in Him we live, and move, and have our being."
    14. Re:SLOC: Vista vs. Linux by CohibaVancouver · · Score: 2, Informative
      Anyone know how many LOC are in the space shuttle's software?

      http://www.fastcompany.com/online/06/writestuff.ht ml

    15. Re:SLOC: Vista vs. Linux by Richard+Steiner · · Score: 2, Informative

      Eleven (11) layers of management is ridiculous for ANY company. When I worked at Unisys we had four (two layers of management at our facility and two more in Blue Bell), and when I worked at NWA we had five:

      (1) Peons ("individual contributors") like me (i.e., not a manager).
      (2) Managers
      (3) Directors
      (4) Managing Directors
      (5) VP
      (6) CEO

      I think. There might've been a layer between 5 and 6. But that'd be six layers of management at most, and at the operational level where we worked there were really only two layers that mattered except when it came to strategic planning/funding.

      --
      Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
      The Theorem Theorem: If If, Then Then.
    16. Re:SLOC: Vista vs. Linux by poor_boi · · Score: 2, Insightful

      SLOC is only a good measure of SLOC. A "project's size" can be very large in scope, requiring a lot of research and a lot of very smart people working for a long time -- and the end result may be a few thousand lines of code that is extremely well written/optimized.

      Granted, SLOC is probably "somewhat indicitive" of a project's size 80% of the time. But can you make generalities about such an exceptional (and not just in a good way...) piece of software as Windows?

    17. Re:SLOC: Vista vs. Linux by babbling · · Score: 2, Funny

      Stop telling them what to do.

    18. Re:SLOC: Vista vs. Linux by heinousjay · · Score: 3, Funny

      I miss the days when people didn't constantly believe everything used to be better.

      --
      Slashdot - where whining about luck is the new way to make the world you want.
    19. Re:SLOC: Vista vs. Linux by DanQuixote · · Score: 2, Insightful


      The justice department actually tried to do Microsoft a favor by forcing them to separate the browser from the OS.

      But perhaps like a child saying "I don't WANNA!", they haven't yet seen the CLEAR advantages that have long been taught with the simple addage:

      By the inch, it's a cinch, by the yard, it's hard.

      I am sick to death of behemoth OSs. They take forever to install, they take forever to maintain, and how much of it do I regularly use?

      Kudos to the OpenBSD team and similar efforts. Do one focused thing and do it well!

      Come on people! K.I.S.S.!

      --
      "We think people rightly feel that once they buy something, it stays bought," --Suw Charman, Open Rights Grp
    20. Re:SLOC: Vista vs. Linux by chris_mahan · · Score: 2, Insightful

      Call to the mods would be justified, except for the fact that he is right.

      It may be slightly offtopic, I agree, but the discussion was (and I rtfa) about windows vista slippage. Now, Microsoft makes software to make money. And they are making Windows Vista to make money (ask any MSFT investor). The problem with slippage, bad management, code complexity, and a culture of not telling the truth directly affects the ability to sell the software, which directly affects invertor returns. Now, the longer Microsoft waits to ship, the more time competitors have to create more compelling software, and this means that the Microsoft software is less valuable in the marketplace. It's about time-to-market. The longer you wait, the more and better choices your consumers are going to have.

      In the GP's case, that has happened a long time ago. But it is starting to happen more and more for regular users. And that is why MS wants to ship Vista ASAP.

      --

      "Piter, too, is dead."

    21. Re:SLOC: Vista vs. Linux by Locutus · · Score: 2, Interesting
      TFA also states Windows has 50 layers and circular dependencies. Linux has complex version and interface dependencies, too. But, evidently, the Windows dependencies are hairy enough to flummox 2000 smart people working in "concert" while Linux gets by with only a handful or people working in the same place at the same time and a much simpler process.

      That is, Linux has better modularity and less process.

      So, 'integration' is what's holding Microsoft developers back while 'integration' is what the Microsoft marketing drones are pushing as a reason why MS Windows is better than GNU/Linux? Interesting. This should be an indication to those in the field that there's a major problem at Microsoft and the customer is taking the brunt of the impact of such a 'design' and the marketing boys need to do a bit more explaining how this 'integration' is a good thing.

      I must say that the GNU/Linux camp must watch its step though. Too much reliance on KDE and/or Gnome can result in some of the same problems. Ok so the kernel will always be seperate, but what about all the utilities like sox, libjpeg, libxml, libwww, libtiff, etc? If these slowly start moving into the GUI, a slow moving(feature/upgrade/etc) desktop or worst an unstable and insecure desktop is still going to be bad for users. For many, a crashing GNU/Linux desktop is going to feel just like a crashing Windows OS/system. The movement toward compound document frameworks( openParts/etc ) could help here but there is definately a chance of the GNU/Linux desktopPC moving toward the same problems MS developers are seeing with Windows. Atleast to some extent.

      But right now, the advantage is on the GNU/Linux and OSS side.

      I wonder what Balmer or Gates is going to say when they next tell the market how the 'integration' of Windows is why they'll beat GNU/Linux in the long run and someone mentions this blog in response?

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    22. Re:SLOC: Vista vs. Linux by AndrewStephens · · Score: 2, Funny
      I didn't think that Leonard Nimoy was "late", wikipedia and imdb make no mention of it.
      There has been no confirmation from Netcraft either.
      --
      sheep.horse - does not contain information on sheep or horses.
  2. Give Vista Developers A Break by eldavojohn · · Score: 5, Insightful

    This isn't some critical release patch.

    This isn't some driver that's long overdue.

    Microsoft never hand signed a sheet of paper telling me that I would have my copy of "Longhorn" by the end of 2005 or even 2006.

    It's a new operating system. More importantly, it's an operating system that has to compete with OSX, Linux, Unix & Windows XP. That's right, they are going to have to figure out someway to improve Windows XP. They aren't stuffing Madden 2005 into Madden 2006 and I hope they are taking their sweet ass time to rework some of the Windows internals that may have been a long time plague on the OS.

    My point is that they're making something new and probably forging new ground. According to this article, they suffered the same thing a lot of projects have suffered. You project management plan looks great in Microsoft Project. Then you print it out and re-wallpaper the offices only to have the developers sift through it and go, "What the fsck?"

    If Vista is as complicated as its specs say it is, I hope Microsoft takes another two years to get this done because I don't want to have to put up with Vista SP1, Vista SP2, Vista SP3, etc. down the line. I think games like WoW took a lot of time to make but it paid off to be a really stable engine with great features that blew everyone away. Microsoft could learn from that. You might upset some fans and you might piss your boss off but misinformation/miscommunication in the early stages of a project only lead to its downfall. If you can voice concern/dissent to your boss, I suggest you get a new job. We're human beings, we are fallible and we do have limits. Even if we're hand selected by Microsoft's HR department.

    I'm reminded of a story about Hitler where the Allies had broken through French beaches at Normandy (unexpectedly) and Hitler's aides were at his house trying to figure out how they could wake Hitler up and inform him of the brigade of tanks rushing across the countryside towards them. Because they all feared for their lives, no one ended up waking him up and they lost a whole lot of ground & a few resources because of it. If you run your company through fear and people can't talk back to you, you'll end up like Hitler. Dead in a ditch with petrol all over you.

    I'm also getting really sick and tired of people measuring a project's greatness by KLOC. It's also very frustrating to hear people brag about how many KLOC they write each year. That's great--now how do I know it's not riddled with bugs or a complete memory hog? What ever happened to the desire for elegant computer code? When I see a program that does something quickly and elegantly, my brain releases the same chemical that I used to get when I saw beautiful math proofs. I know this is the mark of the nerd but there's something very satisfying about it.

    One last note, this MSDN blogging site does not care for Firefox. The right hand side of the text hangs over about an inch into the right bar side and it's annoying because the text spills onto the calendar. I certainly hope this doesn't happen on purpose.

    --
    My work here is dung.
    1. Re:Give Vista Developers A Break by plover · · Score: 5, Funny
      You project management plan looks great in Microsoft Project. Then you print it out and re-wallpaper the offices only to have the developers sift through it and go, "What the fsck?"

      Actually, Windows developers go "What the CHKDSK.EXE?"

      --
      John
    2. Re:Give Vista Developers A Break by Anonymous Coward · · Score: 5, Insightful
      Microsoft never hand signed a sheet of paper telling me that I would have my copy of "Longhorn" by the end of 2005 or even 2006.


      Tell that to all of the Software Assurance customers whose deal ends in December of '06.
    3. Re:Give Vista Developers A Break by Moby+Cock · · Score: 2, Interesting
      If Vista is as complicated as its specs say it is, I hope Microsoft takes another two years to get this done because I don't want to have to put up with Vista SP1, Vista SP2, Vista SP3, etc. down the line.

      This is my beef with Vista. It is late and when it ships, I expect it to be buggy with many follow-on Service Packs. The reason it is late and buggy is the absurd devotion to backwards compatability. I don't understand it. I could accept software compatability, but the hardware aspect is mystifying. Microsoft could spend five more years trying to get Vista to be all things to all people, but its stupid. OS X ships every 18-24 months. Granted this is not a full up new OS, but these releases are much more significant than service packs. I am of the mind that this is possible because they make the hard decisions about what hardware and legacy support should be cut. (Although it is easier for Apple, since they build the hardware too. Perhaps the saga of Vista shows that the Apple model is inherently more technically sound.)
    4. Re:Give Vista Developers A Break by TheGreek · · Score: 3, Informative
      Tell that to all of the Software Assurance customers whose deal ends in December of '06.

      Microsoft doesn't guarantee updates every two years (or whatever your term length is). They just guarantee that you get any updates that occur during the term of your agreement.

      Also, it'll be available to volume license customers in November, which you should already know.

      Tard.
    5. Re:Give Vista Developers A Break by Gorshkov · · Score: 2, Insightful

      Operating systems are Microsoft's core competency. You would think that by now Microsoft would know how to estimate the scope of the project required to write an upgrade for an existing operating system.

      Bzzzzzzzzzzzzzzzzzzzt! WRONG!

      From day one, ever since the deal with Seattle Computer Products, MARKETING has been Microsoft's core competency.

      Microsoft has not, nor has it ever been, primarily a technology company. It has always been a marketing company.

      Bill Gates has not, nor has he ever been, a techie OR a nerd - but what he is, is a brilliant marketeer

    6. Re:Give Vista Developers A Break by bilgebag · · Score: 4, Insightful
      It's a new operating system.
      No, no it's not. As has been pointed out, it's an upgrade. It's not even the original upgrade that was promised for 2003, and it doesn't have many of the new vapour-ware features which have been touted along the way (WinFS, Monad, Trusted Computing Base) and isn't even 'largely' rewritten to use .NET internally.

      Like Windows XP to Windows 2000, this is largely a GUI re-design. KDE and Gnome knock one of those out about once every six months. Apple's releases evolve rather than revolutionise, but they tend to over-deliver on their promises.

      Did you believe this 'new operating system' shtick when Windows 95 came out? 98? ME? NT3.51? NT4? W2K, XP? W2K3? It's getting old. Bill needs to learn a new mantra.

      The last new (PC) operating system Microsoft released was Windows NT 3 (largely based on the work of IBM and ex-DEC employees) and it took them over 7 years to phase out the old DOS based Windows and get back to one offering which wasn't a complete piece of poo.

      When are you going to stop believing the marketing?
    7. Re:Give Vista Developers A Break by Golias · · Score: 4, Insightful

      Bill Gates has not, nor has he ever been, a techie OR a nerd - but what he is, is a brilliant marketeer

      That's some pretty damn impressive marketing skill he displayed when he ported BASIC to the Altair.

      Shit, if you're going to rip the guy, and are that clueless, at least take the time to read the Wiki on him or something.

      --

      Information wants to be anthropomorphized.

    8. Re:Give Vista Developers A Break by crerwin · · Score: 5, Insightful
      It's an upgrade to an existing operating system.

      Well, sure, it's an 'upgrade' to the 'Windows' operating system line, but not in the same way that 98 was an upgrade of 95. I guess it's somewhat based on Windows 2003, but the point is that it is certainly a large undertaking, unlike the 'minor' upgrade Longhorne was originally supposed to be in preparation for Blackcomb. It is mostly new code, and lots of it.

      ...continuing evidence of Microsoft's incompetence in the area of operating system development.

      I certainly have no evidence to back this up, but I would imagine that Microsoft has some of the best programming minds working for them. They also probably have some fantastic team leads and managers. I don't think the problem lies in an incompetence in the area of OS development, but rather in a company philosophy that has too many restrictions and silly requirements. Their programmers most likely spend a lot of time integrating DRM and proprietary replacements for perfectly viable technologies into their otherwise quality code. I guess all in all this equates to an overall conclusion that Microsoft has trouble producing quality operating systems in a timely manner, but it doesn't sound like incompetence on the programming end.

    9. Re:Give Vista Developers A Break by OnlineAlias · · Score: 2, Informative

      Bill Gates is the hardest core nerd there ever was in the corporate world. He used to write the code...even lambast his own employees for not writing good code. He got started writing programs for traffic managment systems. He invented and wrote the BASIC operating system for the Altair. He got a near perfect score on his SAT's.

      What ever one thinks about Bill gates now, there is no doubt that he is one of the biggest nerds of all time.

    10. Re:Give Vista Developers A Break by R2.0 · · Score: 4, Insightful

      Guarantee updates every 2 years? No.

      Predict that the software would be updated? Yes, and that's how they sold Software Assurance.

      Can the SA customers sue to get their money back? Probably not, although some will try.

      Will the SA customers renew? Hell no - they probably would have been better off buying Vista retail a year from now (after the bugs are known).

      Is Microsoft going to lose revenues because of the Vista delay? Oh yeah.

      --
      "As God is my witness, I thought turkeys could fly." A. Carlson
    11. Re:Give Vista Developers A Break by Spiked_Three · · Score: 5, Interesting

      LOL - I got a huge kick one time at a Microsoft SE meeting where some dumb SE gave Gates grief over Microsoft's implementation of DCE RPC. Gates ripped him a new butthole stating intricate details of DCE specs and it's failing points and how code was written to get around the problems.

      There does not exist in all of slashdotdome more of a nerd than Bill Gates (nor anyone as rich).

      --
      slashdot troll = you make a compelling argument I do not like the implications of.
    12. Re:Give Vista Developers A Break by Capitalisten · · Score: 2, Insightful

      License keys and media kits are one thing - the support needed during the installation is quite another. SA includes numerous support options and is one of the key reasons to selecting this type of licensing (IMO) and that part will be gone once the SA agreement expires. So yes - SA customers are probably not going to be happy.

    13. Re:Give Vista Developers A Break by badasscat · · Score: 2, Insightful

      This is my beef with Vista. It is late and when it ships, I expect it to be buggy with many follow-on Service Packs. The reason it is late and buggy is the absurd devotion to backwards compatability. I don't understand it. I could accept software compatability, but the hardware aspect is mystifying. Microsoft could spend five more years trying to get Vista to be all things to all people, but its stupid. OS X ships every 18-24 months. Granted this is not a full up new OS, but these releases are much more significant than service packs. I am of the mind that this is possible because they make the hard decisions about what hardware and legacy support should be cut.

      I'm waiting for the little light bulb to go off in your mind that explains to you the reason why Macs have a 4% worldwide market share.

      Businesses cannot afford to be dealing with full hardware and software upgrades all the time, and waiting for other vendors to update their own software to work on new operating systems. My company does have a few Macs for specific tasks, and we couldn't even upgrade to OSX at all until a few months ago - let alone any "latest version" - because one of the apps we use, Media 100i, wouldn't work properly on OSX (I never tried it in compatibility mode, but was told not to). When we bought new hardware, we had to actually downgrade the OS. A lot of time and effort had to go into keeping those machines stuck in 1999, all because Apple does not believe in backward compatibility.

      If you have to upgrade your hardware and apps at the same time as you upgrade your OS, that is both a huge expense and a huge disruption to any company.

      You can argue that it makes for a cleaner, more modern system if you don't worry about backward compatibility, but the logistical and business arguments in favor of it should be obvious. MS and Intel (and even AMD) wouldn't be where they are today without it.

    14. Re:Give Vista Developers A Break by TheGreek · · Score: 2, Insightful
      License keys and media kits are one thing - the support needed during the installation is quite another. SA includes numerous support options and is one of the key reasons to selecting this type of licensing (IMO) and that part will be gone once the SA agreement expires.

      If support is a "key reason" for your selection of SA, why would you want to lose support for your existing WinXP installation by letting your SA lapse out of protest just because they didn't ship Vista when they pinky promised?
    15. Re:Give Vista Developers A Break by JonathanBoyd · · Score: 3, Informative
      I'm waiting for the little light bulb to go off in your mind that explains to you the reason why Macs have a 4% worldwide market share.

      Historical reasons laregly rooted in their reufsal to license the OS. Not issues with backward compatability. Their market share was low way before that came up.

      My company does have a few Macs for specific tasks, and we couldn't even upgrade to OSX at all until a few months ago - let alone any "latest version" - because one of the apps we use, Media 100i, wouldn't work properly on OSX

      Didn't they release a new version almost 4 years ago that took advantage of the features of Mac OS X?

      If you have to upgrade your hardware and apps at the same time as you upgrade your OS, that is both a huge expense and a huge disruption to any company.

      We've used quite a few iMacs and Powermacs which have gone from OS 8 up to 10.4.6. Occasisonally the software does change, but the vast majority of it has run fine in Classic. There are very applications that have problems with it. The one you use may be one of them, but they brought out an OS X native version years ago.

      (I never tried it in compatibility mode, but was told not to) [...] Apple does not believe in backward compatibility

      So, Apple has a compatibility mode (called Classic, by the way), but doesn't believe in backward compatability? That sounds a little contradictory. And you've heard of Rosetta haven't you? It features superb compatability across a different processor architecture.

    16. Re:Give Vista Developers A Break by Overly+Critical+Guy · · Score: 2, Interesting
      Microsoft never hand signed a sheet of paper telling me that I would have my copy of "Longhorn" by the end of 2005 or even 2006.


      Not only did they do so in what is called a press release, but they held public demos of Longhorn and proclaimed its target release date. And the original announced date was 2003.

      In 2006, there were public statements made that Vista would be out by the end of the year, no matter what. That was another lie.
      --
      "Sufferin' succotash."
    17. Re:Give Vista Developers A Break by dtjohnson · · Score: 2, Insightful

      Maybe Bill Gates understands the umpty-ump millions of lines of codes but what happens after he's gone? Then we'll need mere mortals to go in and understand enough to confidently code the Vista2 release...and they won't be able to do it. They'll throw up their hands, clutch their heads, and say 'I...can't...rememmber...what...that...does.' Frankly, the umpty-ump millions of lines of code in Windows Vista seems a little over the top for what is theoretically supposed to be system software that will let your word processor run so you can write a letter to Aunt Minnie. My cell phone can browse the web with a puny processor and not much code. Do people really want a new 'Windows' that uses dozens of gigabytes of hard disk, needs much more powerful hardware, new drivers, etc. just to do what they're doing now? Tell me again, what does Windows Vista do that Linux doesn't? Will Windows Vista be more secure? Doubt it as long as Microsoft keeps on using ActiveX, installing stuff like 'Windows Genuine Advantage' and the like. When will people realize that Bill Gates is not really the answer and that 'Windows' is not the question?

    18. Re:Give Vista Developers A Break by tbone1 · · Score: 2, Funny
      Yeah. Poor Paul Allen was fucked over so badly, he cries and cries every time he flies across the country on his private jet with his very own NBA team.

      I'd cry, too, if I owned an NBA team with guard play like that.

      --

      The Independent: Reverend Spooner Arrested in Friar Tuck Incident - ISIHAC, Historical Headlines
    19. Re:Give Vista Developers A Break by abbossy · · Score: 2, Insightful

      Microsoft has not, nor has it ever been, primarily a technology company. It has always been a marketing company.

      Bill Gates has not, nor has he ever been, a techie OR a nerd - but what he is, is a brilliant marketeer


      Bill Gates is the ULTIMATE nerd! How do you think a 19-year-old kid could sell BASIC to companies run by old guys in 1974 on pure marketing skill to found the largest software company in the world? The only way is by vast technical intellect. The young Bill Gates was the type of nerd who knew and had an opinion on everything about current technology.

      Of course, a techie can also market brilliantly, which, of course, as you state, is what Microsoft's success is contingent upon...
    20. Re:Give Vista Developers A Break by Golias · · Score: 2, Funny

      Tell me again, what does Windows Vista do that Linux doesn't?

      Five things Vista will do which Linux does not:

      1. Run MS Office
      2. Play WMV files
      3. Cost $300 retail
      4. Come pre-installed on almost every new computer
      5. Lack proper security
      6. Become infected by malware in a matter of hours

      --

      Information wants to be anthropomorphized.

  3. Slashdot by linvir · · Score: 3, Funny
    Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and white. "Vista is a bloated piece of crap," my furry little penguin would opine, "written by the bumbling serfs of an evil capitalistic megalomaniac." But that'd be dead wrong. The truth is far more nuanced than that. Deeper than that. More subtle than that.

    Far more nuanced. Some parts of Vista are bloated pieces of crap. Some, on the other hand, won't even ship. And still others will be incredibly efficient, presumably the important stuff like federal backdoors and DRM.

    I don't see things in black and white! There are shades of grey in there too!

    (I'm only kidding by the way, and in reality don't give a shit about Vista)

    1. Re:Slashdot by mwvdlee · · Score: 4, Funny

      It's not just black & white, it's black, white and atleast seven shades of brown.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  4. grammar by Sathias · · Score: 5, Funny

    Obviously the other thing that is too complex is the whole to/too/two thing ;)

    --
    Blessed are the 1337, for they shall pwn the earth.
  5. Spelling error by ChowRiit · · Score: 3, Funny

    Vista code being /too/ complicated...

  6. Dependencies by yobjob · · Score: 2, Funny

    Windows code is too complicated. It's not the components themselves, it's their interdependencies. An architectural diagram of Windows would suggest there are more than 50 dependency layers (never mind that there also exist circular dependencies). After working in Windows for five years, you understand only, say, two of them.

    Duke Nukem Forever and?

  7. Lines of Code? by bmongar · · Score: 5, Insightful

    Wow, who uses lines of code as a metric. It's an aweful metric to use. I have seen many bad coders produce a lot of code. Lines of code as a metric encourages cut and paste reuse instead of abstraction of common ideas and functions.

    --
    As x approaches total apathy I couldn't care less.
    1. Re:Lines of Code? by ichigo+2.0 · · Score: 2, Funny

      Agreed. Hell, one could fit Vista on one line if you want, just make it a really long one. :P

    2. Re:Lines of Code? by martinmarv · · Score: 3, Insightful

      Agreed. If I type

      If CorrectPassword(input) Then
            allowlogin = True
      Else
            allowlogin = False
      Endif

      am I five times better than

      allowlogin = CorrectPassword(input)
      ?

    3. Re:Lines of Code? by hlh_nospam · · Score: 5, Informative
      [bmongar] Wow, who uses lines of code as a metric.


      This brought back a memory of an event that I still find amusing after all of these years. Back in 1978, I was working for a defense contractor. I remember a department meeting in which one of the managers brought in a stack of graybar printout and proudly held a ruler next to it. He proclaimed that his group had produced 9 "side-inches" (the depth of the paper stack) of software, and outlined several items that were to be given to his group as a reward for such an outstanding accomplishment. Next meeting, all the managers brought stack of graybar and rulers. And surprise! surprise! surprise!, every one of those stacks was even more than 9 inches deep.

      Within a year, over half of the projects represented by those stacks of graybar had been cancelled, unfinished. Today, that company is no longer in business.

      As has been pointed out by many authors on the subject, you get what you measure.

  8. Vista code being to complicated... by Minwee · · Score: 3, Funny

    ...as bear is to taking a crap in the woods?

    ...as Pope is to being Catholic?

  9. Twas ever thus by sane? · · Score: 2, Insightful
    Managers blame the workers
    Workers blame the managers

    The way this blog is written makes it obvious why its late, and why it probably won't hit the needs of the users. All the effort goes into playing the bureaucracy game and between the 'them' and 'us' everything important gets lost.

    Personally I believe its a failing of the MBA courses, etc. The idea that 'A' controls 'B', rather than they work together as a team is prevalent and its fundamentally incompatible with good projects. By default I tend to look questioningly at those who claim to be able to manage because 'they've done the course'. Too often they forget they are costs to the programme and have to offer real, obvious, value to be worth having.

    We need project management, version 2.01

    1. Re:Twas ever thus by samsonov · · Score: 3, Funny

      Maybe if the team manager wasn't writing a blog, and concentrated on managing his team, Vista might not slip so much. I'll consult my Gantt chart and get back to you.

      --
      "You killed my yogurt!" --Fred Fredburger
  10. Summary == Wrong by ahsile · · Score: 3, Informative
    The article says the monkeys in Redmond only write 1000 lines of code a year:


    Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million. There are about two thousand software developers in Windows today. Assuming there are 5 years between when XP shipped and when Vista ships, those quick on the draw with calculators will discover that, on average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista.


    5000 lines per year is mentioned as a joke...
    1. Re:Summary == Wrong by e1618978 · · Score: 2, Insightful

      The larger the project that you are adding code to, the more you have to think before acting. 1000 lines of code added to a 50 million line code base can be much harder and more time consuming than writing a 10,000 line application.

    2. Re:Summary == Wrong by korbin_dallas · · Score: 4, Interesting

      Cowboy!

      In a 'REAL' company, you have to do:
      1. Requirements
      2. Requirements Review (meeting)
      3. Complete Requirements Review paperwork,and store that

      1. Design
      2. Design Review (meeting)
      3. Complete Design Review paperwork, and store that
      4. Complete a Design Checklist,and store that

      1. Then you get to Code. (insert 1000 lines of code here)
      2. Have a Code Review (meeting)
      what this really means is that you need to tie up 2 other developers to check your 1000s of lines)
      3. Revise all changes and complete Code.
      4. Complete a Code Checklist and store that

      1. Unit Test

      1. Integration Test

      1. Update and maintain the Software Design Document (ongoing).

      Welcome to CMM!

      For us the metrics are about 30 lines per day, but for Rule of Thumb we use 18.

      The project I am on started as R&D,then it was fun, we just coded like you did. We did ALOT of good stuff. Then when the product sells and makes ALOT of $$$$, we started to get all these MANAGERS, the ones who thought we were all STUPID, piling onto the project SUKING up all our money. Then we get this CMM crap to do too. Some of it helps, At least if my Requirements change, I start at #1 and managment, if they have any questions, see what the impact of thier whims are.

      Now if somoeone would just buy Serena and put PVCS out of its fscking misery. Oh Happy, Happy, Joy, Joy.

      --
      They Live, We Sleep
  11. Longest software project in history? by MacBrave · · Score: 4, Funny
    From the blog:


    The largest software project in mankind's history now threatens to also be the longest.


    Nah, that would be Duke Nukem Forever........

    1. Re:Longest software project in history? by Cheeze · · Score: 2, Funny

      At least they didn't name it Duke Nukem Eventually.

      The "forever" part gives you a timeline.

      --
      Why read the article when I can just make up a snap judgement?
  12. 5,000 lines per year? by Sowilo · · Score: 4, Informative
    Philip tells us in the blog, that Windows developers are writing on average of 5000 lines of code (which is *only* 1200 lines less than the national average of 6200 lines of code per year).
    No, actually, he doesn't tell us that at all. From TFA:
    ... those quick on the draw with calculators will discover that, on average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista. Only a thousand lines a year. ... Lest those of you who wrote 5,000 lines of code last weekend pass a kidney stone at the thought of Windows developers writing only a thousand lines of code a year, realize that the average software developer in the US only produces around (brace yourself) 6200 lines a year.
    Rather than the paltry "1200 line" decrease suggested by the writeup, what we actually have is a 5000 line decrease, and the MS developers are on average each producing less than 17% of the national average. Most of this is probably due to various factors of bureaucratic bloat and Windows bloat in general, but if I had a company full of workers whose pace was less than 20% of the national average, I'd be gravely concerned. Of course, it'd almost be fine if that 20% was QUALITY code, but, well... Consider the source. Reviewing its history, I somehow doubt that Windows code is in any way "bug-free" or "easily maintainable"...
    1. Re:5,000 lines per year? by punkr0x · · Score: 2, Informative
      These numbers are absolutely meaningless. I would tend to expect that a good programmer working on a simple project would produce a small but elegant program; a bad programmer working on a simple project would produce lots of (unneccessary) code; a good programmer working on a complex project would produce a fairly high ammount of code; and a bad programmer working on a complex project would produce either a whole ton of code or none at all, depending on whether a requirement before counting is "the code has to produce the desired result in some form." So this could lead to several conclusions: MS programmers are good, producing complex programs with very elegant and effective code. MS programmers are bad, churning out a bunch of unusable code that does not get used in the final "50 million lines." MS programmers are lazy, only typing 1000 lines a year when the average developer can type 6200. Developers in the US on average produce bloated code, in which case MS is doing better than average. And on and on...


      Does anyone else find it disturbing that MS seems to be defining "upgrade" as "more lines of code?"

  13. largest software project in mankind's history by Zobeid · · Score: 5, Insightful

    How in the world did Vista ever become the "largest software project in mankind's history"? I mean, this is an operating system. This is just an OS for a microcomputer, for pity's sake! It's not running the Internation Space Station. It's not running a nuclear aircraft carrier. It's just supposed to manage a personal computer.

    This shouldn't be so hard. It shouldn't be so big, or so complicated. I know we expect our computers to do a lot these days, but still. . . Shouldn't application software do most of the heavy lifting anyhow? I'm just trying to figure out why it takes hundreds of megabytes of OS -- and fifty levels of dependencies, according to the article -- to manage a desktop computer and provide APIs.

    1. Re:largest software project in mankind's history by Enigma2175 · · Score: 2, Informative

      Back in the 80s, the space shuttle control software was 80+mln lines

      I don't know where you are getting your information, but according to this article the flight control software for the Space Shuttle is 420,000 lines. Since this software has to be perfectly debugged, 80,000,000 lines would be insane.

      --

      Enigma

  14. Yeah, whatever. by Qbertino · · Score: 2, Interesting

    "This isn't some critical release patch. This isn't some driver that's long overdue. Microsoft never hand signed a sheet of paper telling me that I would have my copy of "Longhorn" by the end of 2005 or even 2006. It's a new operating system."

    "Oooh, de poor little Vista Developers are sooo overworked. Lets give them a break."

    No. Wrong. No break. And no extra auto-credit for being MS. I couldn't care less about Vista being delayed or not. But I will take every chance to turn the situation against all legends that cause people to think Computer == Windows. Usability == Doubleclick. Etc.

    Reading that essay - from a Vista Guy with a position - gives of one clear message: Vista actually is a bloated weedy mess beyond any measure. And, guess what, making something new or not, the code that makes the unixes so usefull has been programmed allready and is in heavy field use for quite some time now. Somewhere between 10 and 20 years. After 30 years of unix, hardware finally is fast enough to run it on PDAs and cheap Notebooks. What x86 is to architecture - ancient, crazy, nutcase, but good enough for everything, even a Mac, Unix is to OSes - ancient, crazy, nutcase, but good enough for everything, even good enough for a Mac.
    No, no break. Game over I say.
    If MS has the guts to burn 10 Billion - 20 Billion on getting a new OS paradigm on to every plattform on the planet and do a good job at the same time they'll maybe make it. But even this late, jumping the OSS bandwagon and burning the cash it takes to take over the whole OSS service, distribution and customization sheebang would be cheaper and have better prospects.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Yeah, whatever. by jc42 · · Score: 5, Interesting

      If MS has the guts to burn 10 Billion - 20 Billion on getting a new OS paradigm on to every plattform on the planet and do a good job at the same time they'll maybe make it.

      It's perhaps worth mentioning that this was essentially IBM's approach back in the early days of "desktop" computers around 1980. There was this flock of little upstarts challenging IBM's growing stranglehold on the computer business by building small, cheap computers. IBM actually had a desktop computer, and it got very good reviews from its users. (What was it's 4-digit number? I've forgotten, but it was pretty good. ;-) Their problem was that, due to their development rules, they couldn't sell it for less than $50,000 and recover their development costs. And they couldn't sell more than a handful at that price.

      So they farmed the job out to one of those startups, run by Bill Gates and a few of his buddies, handed them a few hundred million for marketing, and didn't impose the IBM development rules on them. The result was crap compared to any of the CP/M desktops, but with a marketing budget greater than the operating budgets of all the upstarts combined, the result was what IBM wanted.

      Microsoft has understood the lesson of this from the start, and put their money into marketing rather than quality product. Until now, maybe. If the reports of their growing development rules and costs are true, they may be going the way of IBM. They'll produce a good system for the first time in their history, but to avoid going bankrupt from the cost, they'll have to get a very good price for it, and only the wealthiest (and stupidest) will pay that price. If this is true, we're seeing a repeat of the IBM/Microsoft story from a quarter century ago.

      Of course, IBM didn't die. In fact, they completed their conquest of the "mainframe" market, which was willing to buy IBM no matter what the cost. They completely own that field, and development has pretty much come to a halt. Due to MS's market clout, we could see the same outcome. They will own the "desktop", and further development in that market will grind to a halt. They'll still sell to the "MS at any cost" market. But it won't matter to most of us, because we'll more and more consider "desktop" computers relics of a previous age. We'll stop worrying about making new systems "compatible with the desktop" (i.e., clones of MS's systems), just as 25 years ago we stopped worrying about whether our little computers were IBM compatible (and we didn't bother with PL/I or JCL ;-).

      So what should we call the new thing we're building while ignoring IBM and Microsoft? "Web 2.0" seems to be out (and wasn't very good anyway), but the new thing will certainly be Net-based. Any good suggestions for a name that will supercede "desktop"? Maybe we need a catchy two-syllable name for the software going into the OLPC project. Push for making it a truly distributed, comm-based system without any central control, so the comm companies and local governments can't take it over as they're doing with the Web. We can base it on zillions of small components, so a company that refuses to follow standards can't make any inroads. The "new paradigm" will be as outside Microsoft's world view as PC/DOS was outside IBM's world view.

      C'mon, we need a catchy new name ...

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    2. Re:Yeah, whatever. by tambo · · Score: 2, Insightful
      Reading that essay - from a Vista Guy with a position - gives of one clear message: Vista actually is a bloated weedy mess beyond any measure.

      Yeah, that's my reaction, too. 5,000 lines of code per day? That doesn't sound like responsible software engineering. It sounds like a code binge - and let's face it, we all know how that generally turns out.

      If Microsoft were really committed to quality code, it wouldn't project a release date for Vista. It would announce a release date when the code was approaching completion - perhaps even the first few public betas. By projecting a release date before then, Microsoft limits its options for responding to deep bugs that arise during the beta: its solutions have to be shoehorned into fitting the projection. That's what it sounds like it's doing.

      I've been an ardent Microsoft user since 3.0 - no, since the early days of running MS-DOS on a 12MHz 80286 - but Vista is the first Microsoft OS that I really don't want. The features that Vista offers over XP don't justify the added complexities and new security holes of the new platform (not to mention the planned hardware and software obsolescence.) And all of this "creeping oversight" BS - Hailstorm, DRM, Palladium, Windows Genuine Advantage - makes me leery as well.

      Microsoft has always been hostile and unfair to its competitors... but now it's being hostile and unfair to its users. I'm not inclined to tolerate it.

      - David Stein

      --
      Computer over. Virus = very yes.
    3. Re:Yeah, whatever. by Teach · · Score: 2, Informative
      5,000 lines of code per day?

      No, the summary is wrong. From TFA:

      [O]n average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista.

      1000 lines per year is much, much more reasonable.

      --
      Graham "Teach" Mitchell, computer science teacher, Leander HS
    4. Re:Yeah, whatever. by BigNumber · · Score: 2, Insightful

      Wrong. By announcing a release date, they cause people who might have otherwise switched to another operating system to continue to wait. This is essentially the same strategy that killed OS/2 Warp. Everyone was waiting for Chicago (Windows 95). This was also brought out in their monopoly trial as one of the offending practices.

  15. Hmmm... by pubjames · · Score: 5, Insightful

    He said:

    The types of software management issues being dealt with by Windows leaders are hard problems, problems that no other company has solved successfully.

    Nobody else has solved the problems? How is it that OSX, which contains many of the features that Vista is due to have, shipped years ago? Before the Microsoft fanboys start with "Ah but it's different...", I think Microsoft is guilty of making their own problems... Perhaps some problems shouldn't be solved in software, but should be solved at the level of how your company works.

    1. Re:Hmmm... by zoomba · · Score: 4, Insightful

      I'm a Mac user, got a great powerbook running 10.4, but I have to jump in on this point to point out the differences between OS X and Vista in terms of complexity and development time.

      1. OSX was based on the FreeBSD kernel and leveraged a LOT of UNIX structure under the covers. Lift the GUI off of OSX and you essentially have a BSD box. This means, for Apple, a lot of the engineering had already been completed. They were just adding in their own layers of stuff. Vista on the otherhand is supposedly a near-completely rewrite from the NT kernel OSs (NT, 2k, XP). That's a massive difference in work effort involved.

      2. Vista has to run on a near infinite combination of hardware. OS X has to work on a very controlled set. This alone will make coding and testing a hellish experience. Add in the complete rework of how the desktop works (it's 3d now), the revamping of DirectX, and a pretty significant change to the security model and networking code and you're looking at some insane complexity that has to be tested.

      Personally, I think that MS bit off way more than it could chew with Vista. They shot for the moon when in reality they should have been happy with breaking Earth orbit. If you look at the evolution of MacOS, you'll see many iterative improvements every 18 or so months. It kept the OS fresh, added features at a reasonable pace for both developers and users, and didn't get sucked into development hell. OS X has taken this approach with it's point releases every year or so. OS X, while a huge shift from OS 9, wasn't on the same scale as the Vista shift is for Microsoft.

    2. Re:Hmmm... by LordLucless · · Score: 4, Insightful

      1. OSX was based on the FreeBSD kernel and leveraged a LOT of UNIX structure under the covers. Lift the GUI off of OSX and you essentially have a BSD box. This means, for Apple, a lot of the engineering had already been completed. They were just adding in their own layers of stuff. Vista on the otherhand is supposedly a near-completely rewrite from the NT kernel OSs (NT, 2k, XP). That's a massive difference in work effort involved.

      So in other words, the problems MS needs to solve have already been solved, MS is just pig-headed and wants to roll their own solution instead of using one that's been tempered over the last 20 years. I'm not sure that's a good thing.

      2. Vista has to run on a near infinite combination of hardware. OS X has to work on a very controlled set. This alone will make coding and testing a hellish experience.

      That makes it harder for driver writers, but not much more. When windows talks to hardware, it doesn't really talk to hardware. It talks to drivers, and drivers talk to hardware. Since all the windows drivers have the seem interface, it really doesn't matter what hardware you run it on, as long as the drivers you write implement the interface correctly. Since MS already has the drivers from old versions of windows, it should be fairly simple to rework them to use the new interface; unless there are major changes in driver-OS interaction (and there really shouldn't be - they've had time enough to get it right) it shouldn't be too time-consuming even to do that.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    3. Re:Hmmm... by Sax+Maniac · · Score: 2, Insightful

      Are you _really_ suggesting MS could save time by throwing the kernel out and replacing it with something else?

      Many Windows program are really poorly behaved, and are utterly welded they are to every documented and undocumented aspect of every version of Windows ever written. Read Raymond Chen's blog - it's full of things that would blow your mind. App Z crashes in Windows X but not Windows X-1. Why? Well, it's using invalid memory after a free, and the allocator changed a bit between X and X-1 for other reasons (performance, relability, etc.) Rather than just say "fuck app Z, you deserve it" they go in add in special that detecs the crappy app and makes the allocator act specially just for it.

      Repeat a billion times. Result: people can upgrade and keep their apps. Result: MS makes a ton of money. Result: a boatload of backwards compatability code.

      OS X doesn't have this problem because they don't give a shit about backwards compatability and don't have very many programs otherwise. Nobody uses a Mac to run a custom application like a factory control system, and nobody will upgrade their version of Windows if it doesn't run the apps they want.

      Apple has broken compatability a big way bunch of times - in the switch to Power, the switch to OS X, the switch to x86. Carbon Cocoa Pink Black Red. If I was a Mac developer, I'd be going NUTS. They're in a different siutation, a different market, and they can get away with it.

      Yes, I'm aware of emulation. Sure, that works for toy applications without any sort of performance requirements. You'll find that the factory control system rolls over and dies because the code expects a certain latency by driver X on Windows. Poor programming? Probably. Does the business owner stamping out toilet seats care? Not at all. It either works or doesn't. If it doesn't he loses money.

      --
      I can explanate how to administrate your network. You must configurate and segmentate it, so it can computate.
  16. Minor Mismanagement of Manpower? by Lectrik · · Score: 2, Funny
    From the summary:
    All in all it gives a nice insight into why Vista will be late, from a different perspective. Oh, and Slashdot gets mentioned too;-).


    So they admit that Vista is late because their programmers were too busy bashing the PS3, reading TFA and generating FUD on slashdot?
    Realy people, I'd expect management to delegate that to the suits in PR or Marketing
    --
    --- As to make my comment seem, by comparison, more intelegent... doodie doodie doodie poop poop poop!
  17. Source for averages? by Anonymous+Brave+Guy · · Score: 4, Interesting

    I thought the number of finished lines of code per developer-day (that means debugged, documented, etc.) was only 20 for an average developer? A top developer will get closer to 10x that (mainly because when they write a lot of code in a day, they don't introduce lots of silly bugs that take a lot of time to correct later). Some developers actually have negative productivity overall (which makes sense when you consider the time spent by their colleagues to fix their bugs afterwards).

    I can't remember where I saw those stats: probably something like Code Complete or The Mythical Man Month, I imagine, or possibly the IBM study into developer productivity at different ages (the one that says anyone under 25 is only good for documentation, and anyone 25-30 should only work on one project at once). Does anyone recognise the number?

    I can't see any references in the blog post. Where do the figures of 6,200 (and the earlier 9,000) LOC/year come from?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  18. "Biggest" software project in "history" by Anonymous Coward · · Score: 2, Informative

    The author seems to like emphasizing the fact that Vista is the biggest "software" project in "history". Well, maybe in Microsoft's history. But having worked in industry for several years, I can assure you that there are other projects which exist that require significant amounts of highly complex and non-trivial code.

    One very pertinent example, from an area in which I've worked, is the design of a semiconductor. (In this case, specifically, an FPGA.) Do you realize how many lines of software are necessary to make a complex semiconductor work? From the VHDL code, to the software support tools for the device (in the case of FPGAs, this includes compilers, synthesizers, tech mappers, placers, routers, timing analyzers, etc.), to the code to operate the test beds, etc.

    Egads. This blog author has no idea. I'd wager that he suffers somewhat from Microsoft's "I'm bigger/better than you" syndrome -- he's like to think that Vista is breaking new ground in terms of size and project management, but he's a few years late.

  19. 5000 lines of code? by Criffer · · Score: 2, Insightful

    Lines of code is a stupid metric. It's on the wrong side of the balance sheet. Lines of code is a cost, not a benefit. As a software engineer, your job is to express concepts in as little code as possible. That's why we have high level languages like Lisp, Haskell and Ruby.

    On the other hand, we have people who try to fatten their lines-of-code metric, which is why we have assembler, C, and TheDailyWtf.

    If anyone asks me for how many lines of code I've written in a day, I will either respond with a negative number, which is probably correct, or if I'm feeling vicious, One.

    1. Re:5000 lines of code? by ohearn · · Score: 2, Insightful

      As you hinted to, LOC varies greatly from language to language for the same functionality. Windows is written mostly in C (found this out interviewing with Redmond a year or two ago). The point the article made was they average 1000 LOC/year on Vista + x LOC/year on 64-bit XP + y LOC/year on hotfixes (Im guessing that one is a big number). From what I have seen on Vista so far, I have no interest in running it. I'm not a fanboy of M$ by any means, but yes I run XP as on my main machine and at work (and Solaris, and Unix, and Server 2003 on servers I have to interact with), but my desktop is a Windows machine. It does what I need it to do, and thats all I ask from an OS. To me a computer is just a tool to do a job. I want 3 things from an OS: 1- support of the applications I need, 2-stability (and I have never had stability issues with XP, but I'm not going to start that flame war), and 3- at least consistent UI (preferably actually user friendly, but I'll settle for consistent). Honestly the only reasons I run Windows at home are for compatability with work I bring home and the occasional game. I could care less about new features in a new version of Windows. I just want them to fix the problems with what is already there. And i mean fix not apply 50,000 bandages. I know the only way for them to really do that is to redesign the system from scratch and have at. I doubt this will ever happen, but we can hope.

  20. Simple by TheConfusedOne · · Score: 3, Funny

    Bad shape by a constant = Windows 4.0 to Windows XP
    Bad shape by an order of magnitude = Windows 98 to Windows Me
    Bad shape by an infinite order = MS Bob

    --
    --- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
  21. it's kind of obvious what's wrong by thechronic · · Score: 5, Interesting

    The guy is saying there are 50 layer dependencies, and tons of circular dependencies. It's software engineering 101, their model is wrong...they're not properly abstracting out each layer. I'm not a big fan of Linux, but every module can be decoupled in it, and modules work together even though they're written by completely different projects due to standards...that's how you design a proper system.

    1. Re:it's kind of obvious what's wrong by tgv · · Score: 2, Interesting

      Hey, Vista is not Software Engineering 101. Everyone who participated in a major software project probably ended up accepting circular dependencies. It's a compromise between the size and usability of a module on one hand and independency on the other. And if you don't want to duplicate code (talking about SE-101), things can get quite complex in such a big system.

      Not that I'm looking forward of installing it on my Dual Core iMac, though...

  22. Less code is a good thing by xRelisH · · Score: 5, Insightful

    People are always concerned about writing out gobs and gobs of code that isn't properly thought out. That's the problem with a lot of software development these days (namely OSS). I've been digging through a rather large and prominent OSS project and found that its code looks like it's been hacked together.

    People need to start focusing on code density. By code density, I mean how much thought goes into each line you write. High code density will almost always give you a good result, take Google for example, I've found that almost everything they have has been well thought-out, and not hacked together in a rush.

    If MS has told the developers to slow down and think through everything, I think everyone (who will use Visa) will benefit in the end. I'd rather have a late OS that works than one that is early and feels rushed. Now before I get flamed and labelled as a Windows fanboy, I should mention that I use OSX as my native desktop OS and Linux (Gentoo) for my personal servers.

  23. The application of "concerted" by Colin+Smith · · Score: 2, Insightful

    From Merriam-Webster Online Dictionary

    Concerted:
    1 : to settle or adjust by conferring and reaching an agreement
    2 : to make a plan for intransitive senses : to act in harmony or conjunction

    If we take the second meaning then, yes, free and open source developers are in fact acting in harmony or conjunction. It's the software license and underlying philosophy which defines them as acting in concert.

    Just because a flock of birds doesn't have a leader giving orders doesn't mean they aren't acting in concert.

    Read up on self organisation and emergent systems:

    http://en.wikipedia.org/wiki/Self-organization

    --
    Deleted
    1. Re:The application of "concerted" by iluvcapra · · Score: 2, Interesting

      Arguably, Debian developers are acting in much more harmony and conjuction than Vista devlopers, because the low overall communication between the individual developers makes the code and the interfaces between the modules all that cleaner, and encourages good code documentation.

      TFA: Windows code is too complicated. It's not the components themselves, it's their interdependencies. An architectural diagram of Windows would suggest there are more than 50 dependency layers (never mind that there also exist circular dependencies). After working in Windows for five years, you understand only, say, two of them.

      If you have 50 dependency layers, wheras Linux or Mac OS X have something like 10 (in the most pessimal case, for things like desktop Widgets), you've probably been spending most of your time writing new ways of doing old things, over and over and over, and you do this cuz

      • Your original API was no good (I find this difficult to believe in a few cases)
      • You are ignorant of the original API (bad documentation)
      • Adding new features to add value (some of this in Vista, not as much as were promised, tho)
      • Introducing dependencies helps sell products (hmm, I think you might have something there)

      Also, the author puts a bit of attention into "number of lines written". This metric is worthless - if you pay people to code, you will end up with LOTS of code. Debian developers are working for free, are therefore lazy, and therefore write as little as possible to solve as many problems as possible.

      --
      Don't blame me, I voted for Baltar.
  24. He's not dead, Jim... by Akardam · · Score: 2, Funny

    In the words of the late great Leonard Nimoy, fascinating.

    Uhm... as far as I know, whilst Leonard Nimoy is great, he is by no means late. He's still ticking. He would probably find your conclusions about his state of being, illogical .

  25. Efficiency Ratio of each new module by LongestPrefix · · Score: 2, Insightful
    There are lots of advantages to keeping it small. It looks like the Windows Vista project is suffering many of the same maladies documented in OS/360 in Brooks' The Mythical Man Month. It's no real surprise that having lots of minds involved in the design of a project requires lots of communication and coordination to make it work.

    Software really is tough. Large software is much tougher. As the "largest concerted project" ever, Windows Vista is pushing the limits of human capabilitity for coordination and communication. Each new module, and its attendant interfaces, adds new communication.

    As communication increases, total overhead increases. In some cases, it increases in a combinatorial way. If we estimate the "efficiency" of a component as the value-it-brings (in terms of work saved elsewhere in the code) divided by the ( development-time + communication-overhead ), you always want this efficiency to be well over 1.

    Is it less than 1 already? If so, can you really ever complete a project this way?

  26. Am I the only one ... by Grismar · · Score: 4, Funny

    ... who think this writer should lay of the Ctrl+B for a bit? The emphasis in my inner voice is driving me bonkers.

  27. If I would work this slow... by guruevi · · Score: 3, Funny

    5000 lines / year boils down to about 25 lines / 8 hours, close to 3 lines per hour. What the heck are they doing there. Not to mention that in a big company like that, you have project and code management:

    #Source control code
    #
    #Windows Vista (forever) v4.4.4

    oooh, an hour work

    #
    #This code will open a port so we can control users
    #
    main () {
              void port(5000)
              #I ran into some problem here
              # Fixme: crashes randomly
                                  function (open) {
    }
    }

    OK, time for lunch...

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  28. Eh. Not so much. by porkchop_d_clown · · Score: 2, Insightful

    You're looking at it from slightly the wrong direction.

    From what I remember, lines of code per unit of time are language invariant. That is, an assembly language programmer will write the same number of debugged lines of code per day as a C programmer and as a Lisp programmer.

    Thus, the drive to higher level languages is that you can do more with each line of code.

    The downside is something you didn't directly mention - the need to master large libraries of code. Most of the examples in the Daily WTF are caused by people who didn't realize there was a library routine to do what they wanted, or didn't understand the features of the language they were using - not because they were trying to pump up the amount of code they produced.

  29. 5000 lines of code a year? by Rinzai · · Score: 5, Insightful
    I wrote 5,000 lines of code last month. Most of them were very, very, short. They're all in QA right now, too.

    Yes, lines of code is a crap metric, but let's face it--the "manufacturing frozen hamburgers in a box"-school MBAs don't understand software development, and never will. I work for a subsidiary of Really Big Company (no, that's not implying their company name is RBC, or has those letters as the first part of any of their name bits), and Really Big Company mostly supplies a particular kind of hardware to the world of commerce. Our new company president has a degree in engineering, and historically he's been a hardware sort of guy.

    (He's not a bad person. Honestly. He's under the same gun as the rest of us, and working hard to make sure we meet our targets. I'm not doing character assassination here--at least not directed toward specific individuals.)

    The folks at Really Big Company give us revenue targets every year. If we miss those targets, the next year the targets are higher, no matter the state of the economy, the solvency of customers in our particular market niche, or our saturation level in that market niche. To me it makes no sense, but I'm not an MBA. (Clearly the management team at Really Big Company doesn't consist of too many dog owners. It's patently obvious that if a dachshund can't jump through a hoop two feet off the ground, it won't be able to jump through a hoop three feet off the ground. Perhaps they're avoiding that concept to skirt patent infringement issues.)

    (Personal aside: my older cousin, a mechanical engineer by training, got an MBA last year. I consider him a traitor to the cause, and am no longer speaking with him. He doesn't know it, and I can't tell him, because I'm not speaking with him.)

    The problem with hardware people, and it doesn't matter whether the hardware is computers, lawn mowers, or frozen hamburgers in a box, is that they deal in tangibles. At the end of the quarter, either one has 1,000 model 59-C units in the warehouse for delivery, or one doesn't. At any time during the quarter, one can count the number of computer model 59-C units and see whether or not the schedule will be met. One can determine whether or not vendors are supplying the parts required to build 1,000 model 59-C units at a rate commensurate with meeting the EOQ deadline.

    The problem is, software is entirely intangible. We don't have vendor issues--if we have a compiler, an editor, and a computer on which to work, we're good. As far as the MBAs know, we're spinning moonbeams and weaving webs of purest electricity. While the reality is not quite that prosaic, it's not far from the truth. Everything I have ever done in my programming career (even that game I marketed 15 years ago, the source code for which is still on my latest computer at home) exists purely as an abstraction, nothing more than specifically-configured magnetic signatures.

    What we know at the outset of the software project is that we want a Program That Works. What we don't know is how long that's going to take, and it's hard to estimate how long writing a new file system, security layer, or UI component might be, even if we've done it before in another context. The difference between building model 59-C units and writing software is that halfway through the manufacturing cycle no one comes to tell you that the model 59-C unit has been partially redesigned, and that it now uses a stainless steel internal frame instead of cast aluminum. (In the world of tangibles manufacture, the stainless steel version would have a new model number. This doesn't happen with software. The requirements change, and we keep calling it the same old thing.) Specific case, referencing Vista: suddenly WinFS is not part of the shipping configuration, so all the code in other parts of Vista that assumed WinFS would be present have to be rewritten, and then retested both at the unit and integration level. This stuff takes time. It can't be done on the original schedule.

    The

    1. Re:5000 lines of code a year? by Rinzai · · Score: 2, Insightful
      There isn't going to be any "more clueful" involved. There's been nearly 45 years in which to get a clue, no clue has arisen, and I don't see any clues looming on the horizon.

      You and I understand software, but Joe MBA doesn't. Even when we try to express what we know, we're always trumped by "business" wisdom, logic, or what-have-you. That's because of two things, largely, and the major one of the pair is that they're the ones writing the paychecks, not us. The other reason is that they only understand one category of metrics, and software development refuses to be measured with that set of calipers. We have our own calipers, but the business people don't like them, so they don't use them.

    2. Re:5000 lines of code a year? by UnknownSoldier · · Score: 2, Interesting

      I used to hate schedules, until I learned to respect both sides of the _real_ issues:

      1. Schedules tell me that you care more about the product then the people building it. That's one way to kill the company -- let people know that they are only being used, and they will give back the same medicine by refusing to work there. "Hey Joe, tell your friends that company X doesn't give a shit about us dev's having a personal life." It's fatal for a company to lose loyalty of its employees, because you can't motivate people, you can only stop from de-motivating them (E.A. knows that it can burn thru people; there are always more talent to "recruit" -- you think people that left are going to tell everyone what a great company they are to work for?)

      2. But if we toss out the schedule, nothing will ever get shipped, because a program without a deadline is never "good enough" to ship -- there are always more interesting features to add. It will always be in a state of R & D. This is one reason why the majority of OSS sucks. It's someone pet project that is no longer being maintained. It's a hack job with no real thought towards maintaining the next version. Fortunately we have counter-examples like the Linux Kernal, Mame, Firefox, etc, showing us the right way to do things.

      Unfortunately both extremes / views are flawed. The weakness is the other's strength, and vice versa. A schedule is a necessary evil. It's _supposed_ to be a way to balance theory + application -- to balance the goal, of making money by shipping a product, and by giving the creators (devs) enough time to build something cool that others will find useful.

      Cheers

  30. That's actually on par with by porkchop_d_clown · · Score: 4, Insightful

    what I've seen on other very large projects. So much time is consumed with unit testing, making sure you don't introduce side effects, and studying existing code that the creation of new code slows to a crawl.

    I worked on a project that had ~ 8 million lines of code. Code quality dropped so far we had to institute a weekly review - no one was allowed to commit a change until it had been reviewed by the entire team. It always pissed us all off to have to do it - but it turned out to be hugely effective at improving code quality, training new engineers in all the little details that never get written down, cross-training experienced engineers in portions of the code they hadn't worked on and, as a bonus, teaching us all how to write defensively and think about all the likely side effects of our changes.

  31. Ballmer used to complain about this! by Cybrex · · Score: 4, Interesting

    In the documentary miniseries "Triumph of the Nerds", there's an interview with Steve Ballmer where he describes the various factors that led to the fallout between Microsoft and IBM. One of the big things that he harps on is how the IBM programmers were too focused on KLOCs, while the M$ guys were striving for streamlined, efficient code.

    Now we've got one of the head guys on the Vista project going on about KLOCs. Is anyone surprised? Me neither.

    --
    Boundless Expansion, Self-Transformation, Dynamic Optimism, Intelligent Technology, Spontaneous Order- BEST DO IT SO!
    1. Re:Ballmer used to complain about this! by Teach · · Score: 2, Interesting
      Now we've got one of the head guys on the Vista project going on about KLOCs.

      Several others have brought up this concept. I'm not a defender of Microsoft *at all* (switched to Linux on the desktop in 2002), but 'philipsu' is not talking about KLOCs in this way.

      Some companies use KLOCs as a measure of productivity, and incorrectly so. More lines of code does not mean 'better' code or better productivity.

      TFA is sadly now removed by the author (does anyone have a copy in their browser cache?), but there is no evidence in it that Microsoft uses lines of code as any metric whatsoever. The author does bring up the low code output by Microsoft programmers to demonstrate empirically that their programmers (which are assumed to be talented and capable) are being hampered by a difficult task and broken system, both of which prevent the programmers from achieving code output anywhere near the industry average.

      You may appreciate that I have tried to emphasize words frequently in my comment here to better match the style of the original article. :)

      --
      Graham "Teach" Mitchell, computer science teacher, Leander HS
  32. You have to appreciate the transparancy of MS by Momoru · · Score: 4, Interesting

    It amazes me how transparent Microsoft lets itself be. The fact that someone can even post a blog like this about the company using internal company resources. As much as we rant about Microsoft being evil, you'd never see anything like this from Google, the only blogger about the internal day to day Google I know of was fired (Mark Jen).

  33. The "Real" Reason by Guysmiley777 · · Score: 2, Funny

    ...from a Microsoft shill. "It's been delayed so long because it is such a great operating system! If it wasn't so darn good it would have been out already."

    Ugh.

    --
    Coding with assembly is like playing with Legos. Coding an application in assembly is like building a car with Legos.
  34. The real problem! by allenw · · Score: 3, Funny

    Hmm. I can't help but wonder if the real issue isn't the gratuitous use of bold type. Turning bold on and off in their editor of choice must cut down on their productivity by several lines a year.

  35. Major problem with Windows by plopez · · Score: 3, Insightful

    The desire to be all things to all people. Desktop, handhelp, servers, games stations etc. It just muddles things up. It is a architecture driven by marketing. And I wish I could find the video, but some months back I saw a video interview with the Vista team leads and several red flags went up including:
    1) A huge code base which included code no one understood.
    2) OS design by marketing. They would have to accommodate design changes from the IE team or the Office team.
    3) A large team size.
    4) Large backward compatibility issues.
    It had all the markers of a disorganized project that was drifitng.

    It also does not help that it has to operate on a witches brew of cheap commodity hardware. The incompatibility work arounds have got to be a head ache.

    If you look at the propreitary Unix model, Solaris, AIX, OSX etc., you have a hardware manufacturer with an OS which, at least theoretically, be designed and tuned to play nice with the hardware. This is why you pay the big bucks, theoretically, reliability and performance.

    Microsoft, to a certain degree, is not the master of its own destiny as long as it has to depend on outside hardware makers.

    And, in fact, I think Linux and some *BSDs have the same problem. Too many hardware configs sometimes leading to interoperabilty issues (though with open source you can do things like recompile the kernal or your own drivers). Which is why I switched to OS X, I got tired of hunting down drivers and libraries; and doing recomplies.

    --
    putting the 'B' in LGBTQ+
  36. Re:You have *got* to be Kidding, Part III by x2A · · Score: 3, Insightful

    "Just for comparison purposes, does anybody have any (reasonable) numbers for LOC in both Linux and X Windows?"

    For comparison, for fair comparison? Definitely not the latter... also include the desktop, browser, news/mail client, ms-paint (okay that one's a joke), all the computer management software, a truck load of runtime/support libraries that additional software will use. Windows is a distribution, not just a kernel and a display server.

    --
    The revolution will not be televised... but it will have a page on Wikipedia
  37. Simple Lessons by radtea · · Score: 4, Interesting

    The article describes the basic things that are wrong with virtually every late project:
    • Managers who can't handle the truth
    • Developers or lower level managers who lie to fulfill the psychological needs of managers who can't handle the truth
    • A marketing-driven schedule culture that declares "drop dead dates", misses them, and nobody dies
    • Input rather than output focused management (action control vs results control)
    • Managers who interfere inappropriately with technical decision-making
    • Excessive project mangement/process burden--the level of process needs to be just right for a project to run effectively, and needs to retuned on a per-project basis by people to whom success is more important than ego


    He is describing a sick management culture, one peopled by individuals who are not part of a reality-based community and not aware of their own deficits. Projects run by people like this will always be late and frequently fail completely, because reality doesn't care about management egos.

    This is pretty typical of modern management culture. It just shows up more clearly in this case because of the length and size of the project.
    --
    Blasphemy is a human right. Blasphemophobia kills.
  38. Ha! by catdevnull · · Score: 2, Funny

    Slashdot gets mentioned, too...

    Looks like Slashdot speaks for itself:

      "Server too busy"

    --

    I might know what I'm talkin' about, but then again, this is Slashdot...
  39. OMG HIGHLIGHTED TEXT!!!111 by RealGrouchy · · Score: 2, Funny

    This msdn article's formatting is really annoying. But really it is a piece of a bigger problem that faces the younger generation. I say they should scrap it. Otherwise, people will only read the bold text!

    - RG>

    --
    Hey pal, this isn't a pleasantforest, so don't waste my time with pleasantries!
  40. Quote from Toyota by rewt66 · · Score: 4, Insightful

    "We achieve great results from ordinary people with a brilliant process. Our competitors achieve mediocre results from brilliant people with a mediocre process. They try to overcome this by hiring even more brilliant people. We are going to win."

  41. presentation by drew · · Score: 2, Insightful

    Forgive me for commenting on the presentation rather than the content. I really tried to read the article, but the randomly emphasized phrases made it really hard to concentrate on what was actually being said. I know that it's common to use bold font to emphasize key phrases but when you emphasize half of every other sentence it loses it's effect.

    On the other hand, I bet that this guy is a Wizard at PowerPoint.

    --
    If I don't put anything here, will anyone recognize me anymore?
  42. Hey! I recognize this one! by joranbelar · · Score: 4, Insightful

    From [name of online dictionary service]

    [word in question]
    1 : [widely-used definition everyone is familiar with]
    2 : [something else]

    If we take the second meaning, then yes, [original argument] IS in fact [statement of truthiness]. It's the [supporting justification] and [further reinforcement] which defines them as [paraphrase of second definition].

    [mildly humorous non-sequitur analogy]

    [suggestion to RTFM]

    [obligatory Wikipedia link]

  43. How can YOU READ THAT article by tsalem · · Score: 2, Insightful

    Did anyone else find this to be quite annoying while reading the article? I mean, geez is it a comic book or a freaking blog entry?

  44. mirror because author removed post by moochfish · · Score: 3, Informative

    Note: the author has edited his entry and removed most of it. the mirror:

    http://mirrordot.org/stories/fb474e7cf3aa2bdcb1590 091564cac59/index.html

  45. Article Text by Anonymous Coward · · Score: 2, Informative

    The World As Best As I Remember It
    Broken Windows Theory

    Vista. The term stirs the imagination to conceive of beautiful possibilities just around the corner. And "just around the corner" is what Windows Vista has been, and has remained, for the past two years. In this time, Vista has suffered a series of high-profile delays, including most recently the announcement that it would be delayed until 2007. The largest software project in mankind's history now threatens to also be the longest.

    Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and white. "Vista is a bloated piece of crap," my furry little penguine would opine, "written by the bumbling serfs of an evil capitalistic megalomaniac." But that'd be dead wrong. The truth is far more nuanced than that. Deeper than that. More subtle than that.

    I managed developer teams in Windows for five years, and have only begun to reflect on the experience now that I have recently switched teams. Through a series of conversations with other leaders that have similarly left The Collective, several root causes have emerged as lasting characterizations of what's really wrong in The Empire.

    Useless Trivia Sidebar: Broken Windows Theory

    The original broken windows theory, first coined by Wilson and Kelling, describes the purported phenomenon whereby an abandoned warehouse with no broken windows is mostly left alone, but as soon as one window is broken, it acts as an open invitation to passers-by that it's open-season for rock-throwing.

    This was generally accepted for many years as being true, but is recently coming under fire from different angles. We won't delve into those here, since we mostly commandeered the phrase because it sounded good, not because it actually has anything at all to do with our subject matter.

    The Usual Suspects

    Ask any developer in Windows why Vista is plagued by delays, and they'll say that the code is way too complicated, and that the pace of coding has been tremendously slowed down by overbearing process. These claims have already been covered in other popular literature. A quick recap for those of you just joining the broadcast:

    * Windows code is too complicated. It's not the components themselves, it's their interdependencies. An architectural diagram of Windows would suggest there are more than 50 dependency layers (never mind that there also exist circular dependencies). After working in Windows for five years, you understand only, say, two of them. Add to this the fact that building Windows on a dual-proc dev box takes nearly 24 hours, and you'll be slow enough to drive Miss Daisy.
    * Windows process has gone thermonuclear. Imagine each little email you send asking someone else to fill out a spreadsheet, comment on a report, sign off on a decision - is a little neutron shooting about in space. Your innocent-seeming little neutron now causes your heretofore mostly-harmless neighbors to release neutrons of their own. Now imagine there are 9000 of you, all jammed into a tight little space called Redmond. It's Windows Gone Thermonuclear, a phenomenon by which process engenders further process, eventually becoming a self-sustaining buzz of fervent destructive activity.

    Let's see if, quantitatively, there's any truth to the perception that the code velocity (net lines shipped per developer-year) of Windows has slowed, or is slow relative to the industry. Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million. There are about two thousand software developers in Windows today. Assuming there are 5 years between when XP shipped and when Vista ships, those quick on the draw with calculators will discover that, on average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista. Only a thousand lines a year. (Yes, developers don't just write new code, they

  46. you got the progression wrong by silverdirk · · Score: 2, Informative

    Ok, first part was right- DOS, then Win1-3 on top. Win1-3 used dos's device drivers to operate the comp's hardware. I call that building the OS on top of DOS. DOS was single-threaded. Win1-3 used cooperative multitasking, which means that the OS itself was really just an elaborate extensible single-threaded program. You were running multiple "programs" (more like relocatable code blocks, really), and control would switch from one to the next when they called "GetMessage". If your program went into an infinite loop without calling this function, it was time for CTRL-ALT-DEL.

    Win95 brought 2 main things with it- the Win32 API (for windowing, process/thread stuff, etc, all designed for 32-bit), and native device drivers. Win95 had some DOS compatibility in it, and needed to be able to use DOS drivers for backward compatibility. However, many DOS drivers no longer worked (like, network stuff- I seem to remember that the Novell drivers stopped working with Win95 and we had to get new ones) so you can't say that Win95 was built on top of DOS. It just had a lot of backward compatibility. Most notably, Win95 had real multithreading. It could actually divide processor time between jobs, and divide it between threads within a process without any programmer gymnastics.

    The difference between Win95 and WinNT4 was that 95 didn't have separate memory spaces. Each program was just using space in the giant pool of memory, and could overwrite other programs' data at will. yada yada performance video games etc. WinNT4 was actually stable, and provided each prog with a separate memory space, and required complicated (for someone who's never dealt with it before) memory mapping in order to share data between apps. In Win95/98/ME, all you had to do to share data was pass a pointer using a window message to the other prog's main window ;-) They could access it just fine.

    Win98 was Win95 with more device drivers and more APIs and more GUI features.
    WinME was Win98 with more device drivers and more APIs and more GUI features.
    None of this line had protected memory regions. This is why WinME sucked so badly- it had a few bugs and they could take down the system since everything was so tightly integrated.

    Win2K was WinNT with most of Win98's functionality. WinNT had been gaining functionality over time, with SP1/SP2/SP3/SP4, but when they finally got it so that it could run most Win98 progs, (and a bunch of API calls that were only on Win9X for some reason) they released it as Win2K. Win2K has a DOS emulator in it, and is itself completely incompatible with DOS. It is completely invalid to say that 2K is in any way based on DOS. I still use Win2K. Win2K is solid stable etc, and I've had uptimes as high as 83 days, while using it under very high load, such as running JBuilder 9 and WoW at the same time, along with Trillian, Winamp, Cygwin's X server, and a whole host of other nifty software. (the thing that ended my uptime was, of course, Windows Media Player, haha. I opened it by accident instead of VLC. I have since deleted its exe) Most of my uptimes are ended by power outages.

    WinXP was just Win2K with some improved legacy emulation ("pretend to be Win95 for this program") some (improved?) networking like the firewall, and some additional GUI stuff, like styled window borders. Oh and remote desktop features. (which have been possible all along, since Win95 or so, but never implemented. Those curious should investigate the Windows Metafile ".WMF")

    Vista seems that its main attraction will be the GUI, again. But we'll see.

    --
    Mark of the Coder fades from you. You perform Opening on World of Warcraft. Warcraft crits GPA for 4. GPA dies.