News for hackers. Stuff that matters.
Re:Bill Gates: “I never said '640K should be enough for anyb... by myself248 on Tuesday October 02, 2018 @08:19AM (#18120821)
This has always annoyed the piss out of me. It wouldn't have been Bill's or Microsoft's call to make, in the first place. The hardware memory map is not set by software.

The 640K limitation derives from the 1MB address space of the IBM PC, and as the name implies, IBM did the hardware design. They did it around a particular Intel chip, which had a 1MB address space. IBM could've put in hardware support for bank switching (as some EMS/XMS add-in cards later did), they could've used a chip with more than 20 address lines, they could've done a lot of things.

But they didn't. IBM wasn't designing a mainframe-killer, they were designing a personal computer. It was competing with 16k and 64k 8-bit machines, and the first IBM PCs shipped with 64k and later 128k of RAM. Using the top 384K for peripherals and allocating 640K for programs must've seemed insanely generous at the time. But whoever made that decision, it was on the hardware side, not anyone at Microsoft.

Re:Bill Gates: “I never said '640K should be enough for anyb... by onion2k on Tuesday October 02, 2018 @08:52AM (#18121044)
But whoever made that decision, it was on the hardware side, not anyone at Microsoft.

Bill Gates' famous comment isn't really a decision though. As it's usually cited it's just an opinion - '640Kb should be enough for anyone' means "I don't think any programs will need more than that!". If someone at IBM decided that there should be 640Kb of available RAM for programs it's believable that Bill might have simply been agreeing with them.

The main thing that's annoying about the quote is that it's trotted out as an example of how Bill was wrong, as if being wrong is something terrible that he should be ashamed of decades later. That's nonsense. Being wrong is fine so long as you change your mind when you understand that you are wrong.

Re:Bill Gates: “I never said '640K should be enough for anyb... by forinti on Tuesday October 02, 2018 @11:08AM (#18122361)
It wasn't even wrong. There wasn't a need for that much memory on a desktop then. You could already do wonders with 64KB on an 8bit micro: edit text, run spreadsheets, play games. You would need more for multimedia or web surfing, but that was still in the future.
Re:Bill Gates: “I never said '640K should be enough for anyb... by Klathmon on Tuesday October 02, 2018 @12:04PM (#18122895)
Exactly! It's like saying today that 64gb of ram should be enough for just about everyone in their personal machine.

In 10 years, that might be a hilariously small number, but for right now, it's way more than the extreme vast majority will need.

Re:Bill Gates: “I never said '640K should be enough for anyb... by lisper on Tuesday October 02, 2018 @12:43PM (#18123304)
There is a limit though. By the time you get to the point where you can store more high-definition movies than you can possibly watch in a lifetime you have definitely passed the point of diminishing returns. And with non-volatile storage, we're pretty much already there.
Re:Bill Gates: “I never said '640K should be enough for anyb... by Klathmon on Tuesday October 02, 2018 @12:52PM (#18123402)
Until a new format comes out which requires magnitudes more storage?

I can already imagine vr-style videos pushing 8k with huge dynamic range and very high framerates becoming more common if the technology continues to go that direction, and suddenly a full video export in the highest quality becomes a magnitude (or 2!) jump larger.

As videogames become higher resolutions, they require higher res textures, and less compressed audio, and more detailed models. Not just like 50% more detailed, but 10x more detailed.

Sure, we are beyond the point now where it's pretty easy for the average person to store all information they ever could need on spinning disks for pretty cheap, but once that next "thing" comes out that requires a magnitude more, we are right back to looking silly for thinking 5tb should be enough for anyone!

Re:Bill Gates: “I never said '640K should be enough for anyb... by lisper on Tuesday October 02, 2018 @01:03PM (#18123506)
> Until a new format comes out which requires magnitudes more storage?

No, even that has a limit. We're getting to the point where humans will be unable to perceive additional improvements in resolution. It's no different from audio. CDs are unchanged from when they were introduced 36 years ago because humans cannot hear the difference between a CD and "higher-qualitY" audio. There is a point where that will happen for video: when you can fill the entire field of view of the human eye with video the same resolution as your fovea at ~100FPS, that's it. There is no more room for improvement.

Re:Bill Gates: “I never said '640K should be enough for anyb... by kbenson on Tuesday October 02, 2018 @01:23PM (#18123699)
> No, even that has a limit. We're getting to the point where humans will be unable to perceive additional improvements in resolution.

Not all improvements come with only resolution as the change. It's entirely possible (if somewhat less feasible, based on what I think) that we might start encoding movies as full 3D landscapes, with some preset positions for each scene (e.g. where the director wants the"camera"), but that people could roam around to view it from different aspects at their discretion. This is less or more interesting in certain performances, but imagine some great war film, and you can flit around to see the different people storming the beach or crossing no-man's land. What if you decide to make your own run and see if you would have made it or not?

3D headsets are just now breaking into the mainstream. That's a major shift in medium if taken advantage of, and it could easily create use cases where the media is many multiples of it's current size.

Re:Bill Gates: “I never said '640K should be enough for anyb... by victoriasun on Tuesday October 02, 2018 @01:30PM (#18123787)
> There is a point where that will happen for video: when you can fill the entire field of view of the human eye with video the same resolution as your fovea at ~100FPS, that's it. There is no more room for improvement.

There's a lot of room for improvement in VR though. VR is computationally expensive because you have to calculate 2 sets of high resolution imagery. Not to mention that immersiveness in VR comes at a resolution cost. We're nowhere near 100FPS, high resolution 4k VR imagery.

I mostly agree with you. I wrote a paper during my time at Bose arguing against the rise of 4k which in retrospect I think has only been halfway true so far -- we've known for many years that consumers would not experience a significant improvement upgrading their televisions, but the 4k market is burgeoning anyways. We also didn't anticipate back then how important 4k would be to gaming and VR.

Not to mention that the lack of penetration of higher quality music in the market is mostly a cost problem rather than a storage problem. The average consumer cannot afford the sound setup necessary to truly utilize these higher quality codecs, whereas a 4k television panel can be had for under 500 now a days (!!!!). Netflix offers 4k streaming at 10/month, whereas Tidal's lossless streaming costs 20/month. It is shockingly inexpensive to be into high quality images.

Re:Bill Gates: “I never said '640K should be enough for anyb... by isostatic on Tuesday October 02, 2018 @03:14PM (#18124777)
4K works for 40 degree field of view (That's pushing it, but for immersive movies that's what THX recommends). 4K works because of the increased HDR and framerate.

But most of it is 4K works because of the hype. Why buy last year's model?

4K is a resolution for 40 degrees wide and 23 degrees high. That's about 1/45th of a sphere, or about 2% of the total you'd need for a fully immersive 360 degree picture.

From what I've seen, 120fps is a clear improvement over 60fps, and that's just on a normal flat screen.

So even with a fixed focus single image you're looking at needing 400 megapixels. At 30 bits per pixel that's 12GBit per frame, or 1.5TBit/second.

You've then got technology that records depth, and allows people to chose their own depth of field. And why stop at visible resolution - we don't with pictures, because we can zoom in. Imagine a choice of say 100 360 degree cameras around a football stadium that allows you to zoom to a desired level, you could be up Petabit emerging from the stadium.

Re:Bill Gates: “I never said '640K should be enough for anyb... by leetcrew on Tuesday October 02, 2018 @07:33PM (#18126570)
> whereas a 4k television panel can be had for under 500 now a days

i would be much more worried about color accuracy than resolution with a $500 tv. could be i'm wrong due to economies of scale from large amount of consumers demanding "the 4K", but my guess is that a $500 1080p tv could look significantly better than 4K at the same price.

Re:Bill Gates: “I never said '640K should be enough for anyb... by 8note on Tuesday October 02, 2018 @09:43PM (#18127070)
Just jump to the real limit: at some point, you can't fit more information into a space without creating a black hole.
Re:Bill Gates: “I never said '640K should be enough for anyb... by EGreg on Tuesday October 02, 2018 @02:08PM (#18124154)
How about storing entire realistic maps of worlds that you can walk around in?
Re:Bill Gates: “I never said '640K should be enough for anyb... by isostatic on Tuesday October 02, 2018 @03:25PM (#18124877)
Indeed, imagine how much space you'd need to have something like google streetview, at a resolution that not only is 4K for any given viewport, but allows zooming in and maintaining that 4K resolution for a significant magnification.

Then multiply it by 3 orders of magnitude to bring in temporal detail.

And you're still after a format that records the depth of each pixel, allowing recreation of a true 3d environment.

The numbers would be astronomical. Lets say a single 360 degree picture, using 30 bits per pixel (R,G,B,Depth at 10 bits each), allowing 100x zoom, so 40gpixels, 50 bits per pixel, that's 200GBytes per image.

One image every metre, or 1600 every mile, 4 million miles of roads in the U.S. alone. That's a billion terrabytes.

1Exabyte is 10% of what Randall Munroe estimated google had in 2013. Not that much. Wow.

Re:Bill Gates: “I never said '640K should be enough for anyb... by graphememes on Tuesday October 02, 2018 @01:21PM (#18123676)
Storage doesn't really have diminishing returns unfortunately when it comes to fidelity.

Fidelity has diminishing returns though.

Re:Bill Gates: “I never said '640K should be enough for anyb... by tabtab on Tuesday October 02, 2018 @03:11PM (#18124742)
Re: It wasn't even wrong. There wasn't a need for that much memory on a desktop then.

What more RAM does is allow programmers to "be lazy": slap libraries together and use powerful but resource-hungry abstractions rather than hand-tune details.

We have a similar pattern today with JavaScript and CSS layering in web pages, making them slow and bloated.

It's increasing hardware usage in order to reduce greyware (human programmer) usage. Whether such is "smart" or economical makes for an interesting debate. It appears consumers prefer cheaper software over cheaper hardware for some reason. Software developers who are fastidious over hardware resource usage (RAM & CPU) are not sufficiently rewarded. The group that slaps existing API's together to get their product out quick and cheap seem to come out ahead.

I remember how MS-Office for DOS shipped on 7 floppy disks. I kept wondering why people tolerate loading 7 floppies. It's because the alternatives of the time were harder to use or cost more.

Re:Bill Gates: “I never said '640K should be enough for anyb... by Narishma on Wednesday October 03, 2018 @08:30AM (#18129510)
> I remember how MS-Office for DOS shipped on 7 floppy disks.

You must be remembering something else because there were no DOS versions of Office.

Re:Bill Gates: “I never said '640K should be enough for anyb... by tabtab on Wednesday October 03, 2018 @12:04PM (#18131614)
It could have been Excel plus Word and maybe some other utilities that I don't remember. It was "Office-like".
Re:Bill Gates: “I never said '640K should be enough for anyb... by Narishma on Wednesday October 03, 2018 @12:13PM (#18131727)
There was no version of Excel for DOS either. It started on the Mac, then went straight to Windows. IIRC the first couple of versions even came bundled with the Windows runtime.
Re:Bill Gates: “I never said '640K should be enough for anyb... by tabtab on Wednesday October 03, 2018 @04:44PM (#18134670)
Well, maybe Word for DOS took up 7-ish floppies.
Re:Bill Gates: “I never said '640K should be enough for anyb... by 13of40 on Tuesday October 02, 2018 @10:00AM (#18121697)
At one of the Microsoft company meetings in the middle to late 2000s (I recall it was at Safeco Field) he claimed that when IBM was developing the PC he tried to convince them to use an MC68000 instead of the 8088. He said going with the 8088 set the industry back ten years. Assuming he wasn't making the story up, it's hard to imagine him making that quote or even agreeing with it.
Re:Bill Gates: “I never said '640K should be enough for anyb... by dep_b on Tuesday October 02, 2018 @10:56AM (#18122264)
> He said going with the 8088 set the industry back ten years.

That's what it always felt like as an Amiga user. Not before DOOM there was much I liked on the PC.

Release Amiga 1000: July '85 Release DOOM: December '94

Re:Bill Gates: “I never said '640K should be enough for anyb... by th0ma5 on Tuesday October 02, 2018 @11:19AM (#18122475)
I saw an Amiga once in person around 86 and spent that next decade disappointed, but advocating that the future of computing was going to be great. Emotionally I still feel like we haven't caught up to the Amiga but I imagine that isn't really true, heh.
Re:Bill Gates: “I never said '640K should be enough for anyb... by 13of40 on Tuesday October 02, 2018 @12:05PM (#18122903)
Similar story with me. I got an Amiga 1000 and did a fair bit of assembly coding on it, then ended up writing some 16-bit x86 assembly for school later on. Being used to having sixteen 32-bit registers, then all the sudden having to use AX, BX, CX, and DX (and don't forget they all have slightly different purposes!) was like being brutally shoved back into the 80's.
Re:Bill Gates: “I never said '640K should be enough for anyb... by kbenson on Tuesday October 02, 2018 @01:26PM (#18123737)
Well, history has shown neither RISC nor CISC as actually a better choice, since both models more or less converged to a sort of hybrid design years ago.
Re:Bill Gates: “I never said '640K should be enough for anyb... by ch4ck on Tuesday October 02, 2018 @01:34PM (#18123820)
And what this has to do with Amiga?
Re:Bill Gates: “I never said '640K should be enough for anyb... by kbenson on Tuesday October 02, 2018 @01:54PM (#18124021)
At a simplistic level, the difference between RISC and CISC processor design boils down to having many registers and reduced instructions, or few registers and extra specialized instructions.

What was being described is going to programming from a RISC-like design processor to a CISC-like design processor, and how they felt constrained after doing so. It likely does feel more constraining (I don't really remember how I felt about it back when I did it, but I also went the other direction, and only in the context of classwork), but in the end, most people are programming a level removed from that anyways.

There used to be quite a lot of arguments about what design was better (IMO mostly fueled by Macs running a RISC processor and Windows running a CISC processor, at least until Apple switched to x86). I find it slightly comical that both designs ended up in a fairly similar place though (with RISC processors adding extra instructions, and CISC processors adding more registers, even if mostly just logical registers).

Re:Bill Gates: “I never said '640K should be enough for anyb... by ch4ck on Tuesday October 02, 2018 @02:14PM (#18124207)
All of them: IBM PC, Amiga and classic Mac were using CISC CPUs...
Re:Bill Gates: “I never said '640K should be enough for anyb... by kbenson on Tuesday October 02, 2018 @02:19PM (#18124254)
You're right that the Amiga was CISC, I was mistaken there.

The Classic Mac was as well, but PowerPC based macs were RISC, which is what I was recalling in my followup.

Re:Bill Gates: “I never said '640K should be enough for anyb... by hota_mazi on Tuesday October 02, 2018 @02:41PM (#18124439)
And seriously, who thought that "MOV A B" actually means "A = B" was a good idea?

68000 has it right!

Re:Bill Gates: “I never said '640K should be enough for anyb... by forinti on Tuesday October 02, 2018 @12:03PM (#18122877)
I must have been 12 or 13 years old when I first met an IBM PC. I was used to 8 bit micros having BASIC right away (and colour). But you couldn't do anything with a PC before using two floppies. First DOS then whatever. It just seemed awful. Why would anyone want one of those?
Re:Bill Gates: “I never said '640K should be enough for anyb... by nsxwolf on Tuesday October 02, 2018 @02:30PM (#18124351)
I was used to all the 8 bit machines and their graphics and sound too, but I was enthralled by 80 column BASIC and DOS with its hierarchal file system as well. I saw it as a separate branch of computing entirely.

And once EGA came out, it quickly started to surpass the 8 bits as a gaming platform too.

Re:Bill Gates: “I never said '640K should be enough for anyb... by Narishma on Wednesday October 03, 2018 @08:37AM (#18129564)
That's not correct. If you don't have a floppy disk, the PC boots into ROM BASIC just like the 8-bit home computers of the time.
Re:Bill Gates: “I never said '640K should be enough for anyb... by ghaff on Tuesday October 02, 2018 @10:13AM (#18121851)
Here's the thing though. Engineering workstations existed. There's a good argument that the "right" approach was to use an MC68K and, while you were at it, a "real" operating system whether a Unix or one of the 16-bit operating systems in use on minicomputers at the time. But there's also a good argument that, had you done a more open and mass market-oriented engineering workstation (whatever that meant exactly) at, what?, 2x the price point of an IBM PC--which, remember, didn't even always have a hard disk at the time--you'd not have been competitive with Z80 or 6502 machines.

Even using the 8088 vs. the 8086 was a cost-saving move. A premium IBM PC might well have simply flopped rather than accelerating the industry.

Re:Bill Gates: “I never said '640K should be enough for anyb... by cmrdporcupine on Tuesday October 02, 2018 @10:19AM (#18121914)
It's not clear to me that at the time the m68k was that much more expensive than x86. It certainly was not by 84/85 when the Atari ST was shipping as a sub-$1000 cheap home computer based around it.

I think the bigger compelling piece for x86 was its continuity with the top-selling 8080/Z80 CP/M machines that were the effective standard at the time. IBM offered both PC-DOS (cheap) and CP/M (expensive), and wasn't sure which was going to win out. And PC-DOS was basically a kind of clone of CP/M, down to the API call names.

Re:Bill Gates: “I never said '640K should be enough for anyb... by smacktoward on Tuesday October 02, 2018 @12:24PM (#18123102)
There was also the fact that the IBM people working on the original PC had already established familiarity with Intel's architecture through their work on an earlier IBM product, the Datamaster (http://www.oldcomputers.net/ibm5322.html), which used the 8-bit Intel 8085.

David J. Bradley (https://en.wikipedia.org/wiki/David_Bradley_(engineer)) worked on both the Datamaster and the PC projects, and explained the reasoning behind the choice of the 8088 for the latter in an article in the September 1990 issue of Byte (https://archive.org/stream/byte-magazine-1990-09/1990_09_BYT...):

There were a number of reasons why we chose the Intel 8088 as the IBM PC's central processor.

1. The 64K-byte address limit had to be overcome. This requirement meant that we had to use a 16-bit microprocessor.

2. The processor and its peripherals had to be available immediately. There was no time for new LSI chip development, and manufacturing lead times meant that quantities had to be available right away.

3. We couldn't afford a long learning period; we had to use technology we were familiar with. And we needed a rich set of support chips -- we wanted a system with a DMA controller, an interrupt controller, timers, and parallel ports.

4. There had to be both an operating system and applications software available for the processor.

Points 1 and 3 both reference lessons learned from the Datamaster project -- #1 is about the desire for the PC to overcome a limitation the Datamaster's 8-bit CPU had imposed on it, and #3 refers to the fact that the 8086 and 8088 were close cousins of the 8085, so the IBMers wouldn't have to learn a whole new architecture from scratch.

It's not hard to imagine the decision coming down to Bradley (or someone else on the Entry Systems Division team) calling someone they knew at Intel and saying "we need a 16-bit processor as similar to the 8085 as possible that you can deliver in volume tomorrow. Whatcha got?"

Re:Bill Gates: “I never said '640K should be enough for anyb... by cmrdporcupine on Tuesday October 02, 2018 @12:34PM (#18123226)
Point #4 would definitely have been a concern for the m68k as well. DR's CPM/68k wasn't AFAIK available yet (came a few years later), and Unix would have been expensive and too heavy weight.
Re:Bill Gates: “I never said '640K should be enough for anyb... by slededit on Tuesday October 02, 2018 @03:11PM (#18124752)
They only offered CP/M after Kildal threatened a lawsuit, and at 3x the price. I think it was fairly certain which would win by IBM. That and DOS was mostly compatible, famously porting Visicalc only required changing 3 bytes.
Re:Bill Gates: “I never said '640K should be enough for anyb... by 13of40 on Tuesday October 02, 2018 @12:10PM (#18122944)
This could be apocryphal (there was free beer at the company meeting), but I think I recall he (Gates) mentioned at the time that the existence of a solid chipset to support the 8088 was something that drove the ultimate decision.
Re:Bill Gates: “I never said '640K should be enough for anyb... by phaedrus on Tuesday October 02, 2018 @11:48AM (#18122747)
It was not (or not just) for cost-saving reasons. It was due to a cross-licensing agreement between Intel and IBM for technology called Bubble Memory which turned out to be flop, but IBM didn't know at the time that it would flop.

"Next came the 8088, the processor for the first IBM PC. Even though IBM engineers at the time wanted to use the Motorola 68000 in the PC, the company already had the rights to produce the 8086 line (by trading rights to Intel for its bubble memory)"

https://www.ibm.com/developerworks/library/pa-microhist/inde...

Re:Bill Gates: “I never said '640K should be enough for anyb... by jecel on Tuesday October 02, 2018 @01:17PM (#18123640)
Note that IBM introduced a 68000 machine just over a month before the PC came out, which caused some confusion at that time.

http://www.old-computers.com/museum/computer.asp?st=1&c=623

But 1981 was just too early for 68000 non workstation machines since the early chips were slow and expensive. The 1983 Lisa was limited to 4MHz, for example, in contrast to the 1984 Macintosh's 8MHz. I remember the price of the chips dropping from over $100 to less than $20 in just one year back then.

Re:Bill Gates: “I never said '640K should be enough for anyb... by NeedMoreTea on Tuesday October 02, 2018 @02:40PM (#18124425)
This I can believe. It's reasonably well known that the first PC design was deliberately crippled in order not to impact on sales of the dedicated word processor, the IBM Displaywriter.

The 8086 was thought too powerful and would compete against existing IBM products, so the 8088 was chosen. Other changes to expansion and bus architecture were on the same basis.

I spent over a decade completely failing to understand how it could succeed against Amiga.

Re:Bill Gates: “I never said '640K should be enough for anyb... by Brockenstein on Tuesday October 02, 2018 @10:53AM (#18122234)
>If someone at IBM decided that there should be 640Kb of available RAM for programs it's believable that Bill might have simply been agreeing with them.

Yeah, "640k should be enough for anybody (specifically in the context of a conversation about current hardware of software and not necessarily in perpetuity)"

Re:Bill Gates: “I never said '640K should be enough for anyb... by close04 on Tuesday October 02, 2018 @09:54AM (#18121640)
To follow up on that: as if stating anything that’s perfectly acceptable today but not years from now is somehow outrageous.

“8 core CPUs or 32GB of RAM are more than enough for gaming” (c) 2018

Facts change and opinions change with them. Wonder if Moore’s law will get the same treatment now.

Re:Bill Gates: “I never said '640K should be enough for anyb... by logicchains on Tuesday October 02, 2018 @10:13AM (#18121849)
Maybe that's why Google Chrome was created, to prevent anyone ever again suggesting that any particular amount of RAM should be enough.
Re:Bill Gates: “I never said '640K should be enough for anyb... by CyberDildonics on Tuesday October 02, 2018 @12:15PM (#18122996)
No, the point of the 'quote' is people trying to make a point that 'even Bill Gates' can't predict the future need for technology requirements expanding.

Of course that's wrong, and most of the time it is used by people who don't understand the trade offs made in incremental advancements in tech standards.

Re:Bill Gates: “I never said '640K should be enough for anyb... by SilasX on Tuesday October 02, 2018 @10:12AM (#18121842)
I'm not even sure he was as wrong as people claim. They used to do a lot with very limited memory. Now, modern computers "need" hundreds of megabytes for a chat application, and slow down for the latest Gmail revamp. The quote serves as a reminder of how well we used to economize on memory.
Re:Bill Gates: “I never said '640K should be enough for anyb... by ma2rten on Tuesday October 02, 2018 @02:55PM (#18124578)
I don't think the point is that Bill Gates should be ashamed. It's a reminder how fast technology changes and that the assumptions we make today could be invalidated just as quickly.
Re:Bill Gates: “I never said '640K should be enough for anyb... by joering2 on Tuesday October 02, 2018 @12:39PM (#18123276)
He didnt understand he was wrong. He never learnt a lesson. Years later when Microsoft was launching their Zume audio player, he played a fool on the scene with bunch of people acting that he never heard if iPod.
Re:Bill Gates: “I never said '640K should be enough for anyb... by NeedMoreTea on Tuesday October 02, 2018 @02:24PM (#18124288)
And the first PC design was deliberately spec-reduced in order not to impact on sales of the dedicated word processor, the IBM Displaywriter.

The 8086 was thought too powerful and would compete against existing IBM products, so the 8088 was chosen. Other changes to expansion and bus architecture were on the same basis.

The PC was not supposed to be the benchmark design on which the entire future of computing was built. If you were looking for one of those better off starting with an Amiga. :)

Re:Bill Gates: “I never said '640K should be enough for anyb... by MrTonyD on Tuesday October 02, 2018 @12:28PM (#18123160)
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.

Re:Bill Gates: “I never said '640K should be enough for anyb... by kbenson on Tuesday October 02, 2018 @01:32PM (#18123802)
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.

Re:Bill Gates: “I never said '640K should be enough for anyb... by MrTonyD on Tuesday October 02, 2018 @03:58PM (#18125171)
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.
Re:Bill Gates: “I never said '640K should be enough for anyb... by kbenson on Tuesday October 02, 2018 @10:18PM (#18127194)
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?

Re:Bill Gates: “I never said '640K should be enough for anyb... by MrTonyD on Tuesday October 02, 2018 @10:51PM (#18127319)
The 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.
Re:Bill Gates: “I never said '640K should be enough for anyb... by kbenson on Tuesday October 02, 2018 @11:25PM (#18127428)
What 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_syste...

Re:Bill Gates: “I never said '640K should be enough for anyb... by MrTonyD on Wednesday October 03, 2018 @01:48AM (#18127900)
Well to talk about this more would take the conversation in a completely different direction. Bill met with Steve Jobs and they divided the market by including and removing technical features. Similarly, they met with the various workstation vendors and mini vendors and agreed to add or remove features to create "effective monopolies" based on product differentiation. It can't be proven in a court of law, and it was agreements between top executives who would cancel or undermine internal development projects. Like networking, office software, hardware included -- the decision to support types of programs was negotiated. I worked for direct reports of three of the executives involved at different times (SCO, Steve, Bill) and heard the same stories - as projects were cancelled or competitors products were purchased/killed in exchanges which often also involved offshore transfers between "competing" executives. I'm always hesitant to say these things on HN, since people here always insist on proof - when those involved went far out of their way to insure that no proof exists.
Re:Bill Gates: “I never said '640K should be enough for anyb... by myself248 on Tuesday October 02, 2018 @06:45PM (#18126350)
> 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.

Re:Bill Gates: “I never said '640K should be enough for anyb... by romwell on Tuesday October 02, 2018 @11:20PM (#18127410)
>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

Re:Bill Gates: “I never said '640K should be enough for anyb... by kbenson on Tuesday October 02, 2018 @10:13PM (#18127172)
> 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.

Re:Bill Gates: “I never said '640K should be enough for anyb... by reidrac on Tuesday October 02, 2018 @02:27PM (#18124324)
That's right. My first PC had 512K (and a NEC V40 CPU, 80188 compatible). The first time I met someone at school owning a PC with 640K I found it really weird, like it was an usual number coming from a ZX Spectrum 8-bit with 128K of RAM.
Re:Bill Gates: “I never said '640K should be enough for anyb... by patrickg_zill on Tuesday October 02, 2018 @09:05AM (#18121169)
To your point:

Entire businesses have been run on systems that have 512k of RAM.

The IBM Series 1 had up to 128k: it was designed by Don Estridge, more famously known as the father of the PC...

Re:Bill Gates: “I never said '640K should be enough for anyb... by kolderman on Tuesday October 02, 2018 @02:06PM (#18124134)
It was a software limit, inasmuch as the software wanted to run in real mode even though by 1989 you had a modern 32 bit cpu that had all the features to run Windows 10 today.
Re:Bill Gates: “I never said '640K should be enough for anyb... by dhimes on Tuesday October 02, 2018 @05:44PM (#18125974)
Nice try Bill. We all know you said it. :)
Re:Bill Gates: “I never said '640K should be enough for anyb... by oblio on Tuesday October 02, 2018 @08:32AM (#18120893)
> But whoever made that decision, it was on the hardware side, not anyone at Microsoft.

The hardware supported more than 1MB, as later CPUs proved. However, MS-DOS didn't really support it, as EMS/XMS proved:

https://www.filfre.net/2017/04/the-640-k-barrier/

I'd say that you've got it backwards, in my opinion. And in the opinion of that fine article I linked.

Re:Bill Gates: “I never said '640K should be enough for anyb... by antientropic on Tuesday October 02, 2018 @08:56AM (#18121079)
"The hardware" did not support more than 1 MB. The 8086/8088 had a 20-bit address space (reflected both in the segmentation model and the address bus), so that limits it to 1 MB.
Re:Bill Gates: “I never said '640K should be enough for anyb... by vetinari on Tuesday October 02, 2018 @10:59AM (#18122292)
It was actually 1MB+64kB, due to how real mode segmenting works. The infamous A20 line could be set up to alias that top 64kB to the first 64kB.

The 80286 CPUs did support up to 16 MB of RAM, but they needed to be switched into protected mode to be able to use it. The problem was, that there was no way to switch back, except reset. That might be the reason, why MS DOS never supported this mode.

With 80386, it was possible to run in protected mode AND run real mode binaries in VM86 mode, which is exactly what Windows 3.x used.

Re:Bill Gates: “I never said '640K should be enough for anyb... by unilynx on Tuesday October 02, 2018 @12:46PM (#18123330)
The 8086/8088 didn't have that A20 line setting. That was added later for backwards compatibility.

The 80286 reset thing wasn't a full PC reset, but a CPU reset.

Re:Bill Gates: “I never said '640K should be enough for anyb... by vetinari on Tuesday October 02, 2018 @01:39PM (#18123870)
> The 8086/8088 didn't have that A20 line setting. That was added later for backwards compatibility.

True

> The 80286 reset thing wasn't a full PC reset, but a CPU reset.

That required an extra hardware and BIOS support. The CPU had to be reset externally, and after jumping to FFFF:0000, the BIOS had to recognize that this is a CPU reset, not re-initialize the hardware and return execution to where it came from.

Re:Bill Gates: “I never said '640K should be enough for anyb... by oblio on Tuesday October 02, 2018 @09:00AM (#18121113)
Read the article... Yes, obviously those CPUs didn't support it. But the later CPUs and PCs did, and yet the software (MS-DOS), didn't really support it. They had to use some gross hacks to access more memory.

That excuse is valid for 8086, but it's no longer valid for the 386.

Re:Bill Gates: “I never said '640K should be enough for anyb... by simonh on Tuesday October 02, 2018 @11:12AM (#18122398)
Early DOS was designed to be as lightweight as possible so as much memory as possible was available to applications. Including expanded memory bank switching code and 32bit protected mode support on early primitive hardware that didn’t have those features anyway would have left little or nothing for actual applications to run in.

Even when expanded memory was an option, loading a bank switching memory extender to work around the cpu’s Address range limitations left less base memory left for non-EMM aware apps to run in. Many times I remember discussing with users the pros and cons of different memory managers and aporoaches, but most of the time in that era, not using them at all and using bare bones MS-DOS was actually the best choice. Some users would have two boot disks. One without EMM386 to run software that wasn’t expanded/extended memory aware to maximise the memory available to them, and another with EMM386 to run one or two apps that were.

Re:Bill Gates: “I never said '640K should be enough for anyb... by justtopost on Tuesday October 02, 2018 @10:04AM (#18121747)
Ems / xms was a hack to use the extra memory. Without those systems you would never see more than the base ram. These started out as 3rd party software before eventually becoming part of msdos. I still remember the sticker shock when buying a retail copy of EMM386. So I suppose 'support' is a bit weasely here.
Re:Bill Gates: “I never said '640K should be enough for anyb... by rzzzt on Tuesday October 02, 2018 @01:28PM (#18123766)
Expanded memory cards did exist before EMM386, and could be programmed to map in 4×16 KB pages to D000 or E000: https://en.wikipedia.org/wiki/Expanded_memory#Expansion_boar...