Microsoft's 50 million line albatross

Microsoft's 50 million line albatross

Summary: The New York Times reporters Steve Lohr and John Markoff explain the software delivery problems at Microsoft, as evidenced by the recent Vista and Office 2007 delays....each new version of Windows carries the baggage of its past.

SHARE:
TOPICS: Windows
118

The New York Times reporters Steve Lohr and John Markoff explain the software delivery problems at Microsoft, as evidenced by the recent Vista and Office 2007 delays.

...each new version of Windows carries the baggage of its past. As Windows has grown, the technical challenge has become increasingly daunting. Several thousand engineers have labored to build and test Windows Vista, a sprawling, complex software construction project with 50 million lines of code, or more than 40 percent larger than Windows XP.

"Windows is now so big and onerous because of the size of its code base, the size of its ecosystem and its insistence on compatibility with the legacy hardware and software, that it just slows everything down," observed David B. Yoffie, a professor at the Harvard Business School. "That's why a company like Apple has such an easier time of innovation."

Professor Michael A. Cusumano of the MIT Sloan School of Management said Windows is too big and complicated. Of course, we all know that. The question is what can Microsoft do to remedy the problem over time, short of focusing on the Live components. Other than force customers to change horses to a new platform as Apple did in 2001, not much. So far, Apple's platform shift hasn't led to much market share gain against the more ponderous and complex Windows...but if Apple were to license its operating system, it would be a different game.

Topic: Windows

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

118 comments
Log in or register to join the discussion
  • Complicated windows solved by .NET

    Once all the applications migrate from COM to .NET then this won't be an issue. MS is changing horses midstream with something newer and better.

    It's interesting that Win98/NT4 is getting a .NET runtime while the rest of the OS is being left behind. It's one way to get developers to switch programming practices to a new "platform" without switching the CPU. (yet)
    clamont
    • Why?

      [i]Once all the applications migrate from COM to .NET then this won't be an issue.[/i][p]


      Unhhh -- right.[p]

      Explain the business case for an application developer to invest in that conversion. For extra credit, explain why it doesn't apply to apps shipped with MSWindows, where there's [i]absolutely no[/i] question .NET.
      Yagotta B. Kidding
      • Cross processor support

        I expect it will be a case of slowly retiring old
        code, and it's going to take a lot of time. A lot
        of Dot-Net itself now is thin wrappers around COM
        (and it still has COM's problems when it does
        that). I can't see Microsoft moving over to
        Dot-Net in the near future either.

        One advantage of Dot-Net is it's architecture
        independence. You can ship the same binary for
        IA32, IA64 or any other architecture that comes
        up. As 64 bit systems start to take off (I'm
        running on 64 a bit Linux desktop at the moment)
        this will become more significant.
        RJCorfield
    • Decoupling the apps from the OS is anatema

      The very last thing Microsoft will ever do is to put a bytecode interpreter between applications and the OS. They want every application to be tied as tightly to the OS as possible, anything else opens up holes in their lock-in/monopoly politics.
      jinko
      • .NET is a bytecode interpreter

        "The very last thing Microsoft will ever do is to put a bytecode interpreter between applications and the OS."

        ???? But .NET *is* a bytecode interpreter. With the Mono project (for example), you *can* run .NET apps on Linux and Mac OS X.
        spamagnet
    • No it will be just one more set of tools.

      You are not going to replace all the existing tools and take them away. You are going to just add more. Thats the problem. There is just to much to support. Only by starting fresh and making all the old aps and tools not work can you solve M$'s problem.
      But in doing that they will lose the lock in. Its a lose lose situation for them.
      Kilz
    • That's going to be a long time

      COM has been around for a long time. Probably the one thing that would get companies to switch off of it is if they notice a significant decline in support for it, not just from MS, but all around.

      I've seen a few businesses that have migrated off of legacy platforms because they either saw the writing on the wall, or started getting complaints from customers that their newest systems just don't support it anymore.

      A few years ago I interviewed with a local company, and they told me that since 2000 they had just gotten around to porting their software from DOS to Windows, and they were still working on the port! It was a software company that had been around since 1976. That part was pretty impressive. The thing that made it such a hairball was they had essential modules that were written in older, basically obsolete languages. And there was a LOT of code in the old code base. If they had their druthers, they would've just kept it in DOS from now to the end of time. The problem was their software had all the old limitations of DOS software. It only ran in one screen resolution. Newer customers were unable to run it because their display cards didn't support that low resolution anymore. Secondly, it only supported one printer model from one company, and that printer was no longer being made. So they figured they'd better convert it to Windows. I figure they should've started on it sooner, but better late than never I guess.

      Several years ago I worked on creating a port of a 16-bit Windows app. to Win32. The primary reason the company gave was that they figured MS was eventually going to withdraw support for 16-bit code in the OS. They said the only reason MS had kept 16-bit support was due to a judicial order requiring them to include it in future OSes. And indeed it's still there.

      The last version of COM, COM+ (actually could've been called MTS 2), was released in 2000. So COM is going to be with us for a looooong time.

      Contrary to another reply on this thread, I think MS means to make .Net the replacement for the legacy technologies in its past OSes. It's going to be a while before we see a completely ".Net-ified" OS running on an MSIL processor. When I checked out Channel 9 last year, I found they were working on such a project, though it was a rudimentary .Net OS running on top of a traditional CPU, with a minimal machine language layer between the two. It's only up to the level of DOS in functionality right now. I forget the name of it though.
      Mark Miller
      • That's going to be a long time.

        Hey Mark,

        Agree with you on this. I don't think anyone knows how deeply imbedded the Win32/COM code is. Just converting it to .Net is *not* going to be simple, nor is it going to make business sense in a LOT of situations.

        Our application probably has something like 500,000 lines of code in it - all very closely tied to COM and ADO. We have converted some critical sections to ASP.Net and C# (with some VB.Net thrown in) but the amount of effort it took to make that work then stabilize it has been enormous.

        The management in our company keeps spouting off stuff like "We'll convert it all to .Net in 3 months" like it's going to happen by waving some kind of magic wand. Sorry; that just isn't going to happen. The environment presented by ADO.Net is so dissimilar to ADO that such a conversion is going to have to be a hand-rewrite of every single form, ever single module. No "conversion wizard" will EVER have the smarts to make that paradigm shift between the platforms. It's going to take good old human "thinkin'" to make that conversion.

        Should we move to .Net? Yeah ... gradually, particularly stuff that must be Web oriented. However this is going to be a long and slow migration.

        -CB
        CodeBubba
  • Apple's solution can work for Microsoft, too.

    Eventually the legacy software will be read by separate code, the way that OS 9 co-existed with OS X.

    Microsoft will never drop coverage for the legacy code; that's a selling point for Windows. And switching on the capabilities needed to run legacy software will be less noticeable than Apple's approach.
    But the approach will be largely the same.
    Anton Philidor
    • No one likes emulation

      Same reason Itanium never took off even though it's a better architecture than x86.
      george_ou
      • You might be right...

        ... in a world in which people complain about the leftover code after removing WMP. Purists have a righteous view of what should and should not happen.

        But in a world in which the legacy code is run smoothly and without loss of performance, I'd like to think the purists would be a very small minority.
        Anton Philidor
      • Emulation is fine

        as long as it is done correctly. The question is would Microsoft be able to do it correctly.

        Wasn't part of the Itanium emulation problem the fact that programs ran slower?
        Patrick Jones
        • Good point

          I didn't hear a lot of complaints about Apple's "Classic" environment, except for the few instances where programs didn't work well (Quark, as I recall, had some serious issues). If you can make it fairly seamless, it's a good way to go.
          tic swayback
        • And..

          if we know Microsoft, it will be 20 yrs before it runs somewhat
          correctly.
          cashaww
      • Is that why

        Win9x and WinNT never caught on? They emulated MSWin3 and MSDOS environments.
        Yagotta B. Kidding
      • No one likes emulation.. but its there anyway

        Silly post.. anyone heard of WOW (Windows on Windows) and why did MS purchase Connetix ;-)
        scrapheap
        • WOW is not emulation for x64 chips

          WOW is not emulation for AMD or Intel x64 chips. It's only emulation for the Itanium chip.

          There is almost no performance difference for WOW. Connectix and Virtual Server is for Virtualization. Once I/O virtualization is put in with XEN like technology, it will be significant. But that's translation, not emulation. There is a HUGE difference in performance.
          george_ou
    • Link please

      "Eventually the legacy software will be read by separate code, the
      way that OS 9 co-existed with OS X."

      Where has MS ever indicated this? The articles about Vista
      vapourware are bad enough, now were getting post-Vista gonna
      stuff which I can't see any supporting evidence for.

      The problem is not the legacy code, the problem is the spaghetti
      like nature of windows code that have been slapped together
      over the years. Undoing this is, which is required to improve
      patching and security, is proving far harder than MS imagined.
      Given that improvement in patching and security are the only
      feature left in Vista they will have to continue to delay until it is
      sorted.
      Richard Flude
      • None.

        I'm predicting Microsoft's eventual solution.
        Anton Philidor
  • Subjunctive voice

    [i]So far, Apple's platform shift hasn't led to much market share gain against the more ponderous and complex Windows?but if Apple were to license its operating system, it would be a different game.[/i]

    Frankly, that's nonsense. It might be a nice fantasy for people (like the MS developers) who love Apples for their own sake, but it has absolutely nothing to do with the market realities.

    The market reality is: [b]it's the apps, Stupid![/b]

    The same people who tell you that they won't switch to Linux because:
    * Their games don't run on it
    * AutoCad doesn't run on it
    * Their IT department doesn't support it
    * The Corporate <i>whatever</i> app doesn't work with it
    * etc. etc. etc.

    will all have exactly the same reasons for sticking with Microsoft until Apple can provide the same "runs MS applications unaltered" checkbox that they're demanding of Linux. No difference.

    Put another way: "better" plus five bucks will get you a mocha latte.
    Yagotta B. Kidding