← Back to context

Comment by MrTonyD

7 years ago

I was doing OS coding in those days - and writing both drivers and apps on top of Windows. People forget what was happening back then.

Hardware had removed the 640K memory limit - but Windows stuck with it for years afterward. Not for any technical reason, but because they dominated the market, and neither needed to change nor wanted to change - no matter how hard that made things for developers.

I worked with Microsoft guys, and they were very blunt about not wanting to change their working OS code if they didn't need to - so Bill held back the entire industry for years.

MS has always been famously conservative when it comes to making sure old software still functioned on newer iterations. They launched a completely new OS (NT) just so they wouldn't have to kill true DOS compatibility. They put special case instructions in their OS to recognize applications and ensure they worked.

It's easy to say they put back "the industry" for years, if we define the industry as chip design, but I think it's just as easy to make a case that they greatly expanded the industry over this time by giving people a platform and OS combo that could continue to run their software from a few years back even after upgrading every component. In my opinion, consumer confidence likely greatly outweighed the other benefits, as it allowed economies of scale to really be reached, and spurred the whole industry forward from the massive demand.

  • What we are arguing about is whether there were any options other than those chosen by Apple (abandon developers with Motorola 68K) and Microsoft (don't support anything other than segmented architecture). Since I worked with the Microsoft guys, Mach engineers (since I was one), and did OS development, I would say that there were definitely other choices for Microsoft. We added backward compatibility via Mach, which was picked up by Microsoft. But the Intel guys (who I also worked with) had provided newer generation chips to Microsoft years before - and they allowed development with either segmented architecture or with a linear virtual address space. They described conversations with Bill where Bill had refused to make any changes since it wouldn't increase his revenue.

    • My comment was essentially about market economics, so whether Microsoft had access to specific hardware and chose to develop for it or not is only half the equation, which is hinted at by your recollection of what Gates said.

      If he thought he couldn't make any money implementing it, that means he didn't think there was a market for it that would return the investment. I think it's entirely possible he created that market by driving adoption until the point where that feature it could be supported.

      The question can essentially be flipped, and you can ask why Intel didn't create the hardware with those features initially. The answer is likely that it would have taken more research (if it didn't already exist in much more expensive processors) and would have driven the cost of the processors to the point of not being worthwhile. Is Intel then responsible for setting the industry back by years, because they didn't market a processor they likely could if they took longer and/or charged more?

      3 replies →

  • > platform and OS combo that could continue to run their software from a few years back

    So, here's a thought for ya: MS Excel from back then won't run on anymore, 16-bit apps aren't recognized by modern Windows, etc.

    But a .XLS created back then sure will. And lots of business logic is codified in Excel spreadsheets.

    I posit that .XLS is a more stable platform than Windows itself.

    • >So, here's a thought for ya: MS Excel from back then won't run on anymore

      Here's a thought for you: it actually does run on Windows 10.

      In particular, Excel 3 for Windows 3 installs and runs on Windows 10 out of the box. Here's a screenshot on my system[1]

      Again, let me emphasize: this is software with a GUI written in 1991 for an OS released in 1990 which just works on Windows 10 in 2018 -- no VM required.

      This is the second major release of MSOffice for the PC. The previous release, Excel 2, was running under Windows 2.0, which nobody wants to remember, and which is indeed not supported.

      On the other hand, its installer - a DOS program - runs fine because DOS programs still run in windows 10.

      The compatibility breaks on 64-bit releases of Windows. But all the major versions are available in 32-bit, which you can run on any hardware you can put the 64-bit version on.

      [1]https://imgur.com/hqIpsbZ

    • > MS Excel from back then won't run on anymore, 16-bit apps aren't recognized by modern Windows, etc.

      They certainly will run, even if only through emulation or API conversion. In fact, that's probably what modern MS Excel does to old XLS docs, which is convert them to an in memory format that probably more closely resembles The Office Open XML format than the Excel Binary File Format (the extension may or may not change, but the format did).

      > I posit that .XLS is a more stable platform than Windows itself.

      Well, ignoring that we've drifted quite far from hardware, I would say that Excel (which would be the actual platform, not the container format) is not a general purpose computing platform (at least not a feasible one), not something that necessarily defined what architecture is being used, except tangentially.