4 ms·
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
by MrTonyD 8y 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.
- kbenson 8y agoMS 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.
- MrTonyD 8y agoWhat 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.
- kbenson 8y agoMy 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?
- MrTonyD 8y agoThe Intel guys offered not only to fully fund the development, but to fully staff it and pay Microsoft for all the bother. Intel would have gotten their money back in chip sales. Bill didn't care. And early Intel 486 chips allowed both segmented and non-segmented programs to run - if the OS on top supported it. I was working at SCO at the time (we were working with Microsoft on XENIX). There was a processor mode to flip between segmented and non-segmented. We supported both - but who would use a segmented program when they could have 2GB of virtual space? Anyway, this is all neither here nor there. If someone wants to philosophically believe in rational markets and insightful and honest executives, well, that is a choice they can make.
- kbenson 8y agoWhat time frame is this? Windows 3.0 (and up through 9x) is supposed to have supported protected mode when programs were coded to make use of it.[1] Or maybe you're referring to what that article calls Virtual 8086 mode. That seems to have been supported in the 386, with "protected mode" supported all the way back in the 286. I dunno, you seem more knowledgeable about the specifics of this than me. > The Intel guys offered not only to fully fund the development, but to fully staff it and pay Microsoft for all the bother. In a world where increasing software complexity or having outsiders contribute a sizable or complex piece of code to your private codebase has no cost in future development complexity or runtime, this might have been purely an upside. In the real world, there's there are other considerations, which is likely why it was rejected. Otherwise, why would anyone turn down free development time? Are we to assume Gates was so capricious as to turn down something this beneficial, or that he had resons we haven't adequately covered yet? > If someone wants to philosophically believe in rational markets and insightful and honest executives, well, that is a choice they can make. I don't believe in entirely rational markets and honest and insightful executives, but I do believe in people following what they think that market will do, and in executives that turn down things they think are a bad idea, right or wrong. I'm willing to bet Gates had a lot more information than we do when making this decision, and had his reasons. I think it's possible that he could have been right. 1: https://en.wikipedia.org/wiki/Protected_mode#Operating_systems https://en.wikipedia.org/wiki/Protected_mode#Operating_syste...
- myself248 8y ago> 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.
- kbenson 8y ago> 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.
- romwell 8y ago>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 https://imgur.com/hqIpsbZ