This seems off. Those little computers in your phones run a flavor of Unix, just like the mainframes did (besides VMS, etc). Also, those little computers connect to the cloud, which is just like a mainframe. If anything, history is repeating itself.
This seems off. Those little computers in your phones run a flavor of Unix, just like the mainframes did (besides VMS, etc). Also, those little computers connect to the cloud, which is just like a mainframe. If anything, history is repeating itself.
Both of us being hippies, we got to talking and Steve told me he'd just started a company with a friend and explained the name: "Take a byte out of the apple, get it?"
He mentioned that they needed a 6502 disassembler, and I said that was right up my alley. I'd been programming for eight years and had done low level assembly and binary machine code on several different architectures, so this looked like a fun little project.
We didn't talk money, not that he had any, it just seemed like an interesting weekend diversion.
Steve called me a couple of days later and said, "Mike, I've been thinking about this. Your experience is all with mainframe computers. The 6502 is a microcomputer. It works on fundamentally different principles than those mainframes. There's no way you could possibly write this disassembler, so forget it."
I tried to explain that I'd gone through the 6502 reference, and it was just another instruction set with concepts similar to the others I'd worked with. Steve wouldn't have any of it: "I'm sorry, I've made up my mind. You just don't know anything about microcomputers, all you know is mainframes. Goodbye."
Naturally I said to myself, "Who is this Steve Jobs guy telling me I can't program?" So I went ahead and wrote enough of the disassembler to show that I did indeed know how to do it.
I was about to call Steve back to tell him the good news, but then I thought, "The last phone call didn't go so well. Maybe I'd better drop by his office and show him the code."
So I looked up the address for Apple Computer and found it at 770 Welch Road in Palo Alto. I walked into the building and looked around. It didn't look like a computer company, all I saw was a row of telephone switchboards - the old kind with plugs and jacks - with an operator at each one.
I asked one of the operators where Apple Computer was. She hesitated a moment and said, "Uh, this is their answering service."
Well, of course no successful business used an answering service. I turned around and walked out the door, saying to myself, "These guys are flakes. They're never going to make it."
To this day I don't know if I missed out on becoming a billionaire, or if I dodged a bullet.
I guess Steve thought the CPUs really were different, like, say, the difference between a CPU and a GPU.
There's a lot of revisionist history on the internet about Steve Jobs not being technical, but he had an incredibly detailed understanding of the 68000 by the time the Macintosh project was launched. Perhaps your encounter encouraged him to delve into that area of study.
The word size is different, the special areas of memory are different, it has different opcodes, and so on. But any competent machine language programmer of the day - regardless of which CPUs they'd programmed on before - would have had no trouble understanding this:
http://www.obelisk.me.uk/6502/instructions.html
That's what Steve didn't understand at the time. Not being a programmer himself, he didn't know how familiar all this would look to any machine language programmer.
"Unaccustomed as I am to public speaking, I'd like to share with you a maxim I thought of the first time I met an IBM mainframe: NEVER TRUST A COMPUTER YOU CAN'T LIFT." -Macintosh
And he wasn't wrong. Those machines were completely different than the "big iron" of the day -- they were single-user, single-tasking systems with no meaningful memory protection or other features to protect the system against poorly written or malicious applications. Microcomputers were supposed to be personal computers, with "personal" in this context meaning that the operator had complete control over 100% of the system's resources, up to and including the ability to shoot themselves in the foot. The big iron world was all about multi-user paradigms like time-sharing (https://en.wikipedia.org/wiki/Time-sharing), so the micro mindset was definitely a radical departure.
The irony, of course, is that the micros ended up eating the world, and then the Internet came along and completely demolished their entire philosophy. It turned out that there's no way to connect a single-user, single-tasking computer to a global public network without it running into fundamental performance and security problems. The two microcomputer OS vendors left standing by the 1990s, Microsoft and Apple, both ended up having to throw out their old systems and spend enormous amounts of time and money building new ones (Windows NT and OS X) that could actually be used practically in the new internetworked world. And, not coincidentally, those new systems looked a lot more like the systems that ran on the old big iron than they looked like the systems that had made the microcomputer revolution. The only way for the "little computers" to survive was to become the "big computers" they had so loudly put up against the wall.
The PDP-7 and PDP-11 were also like that. (And yes, they were used for multi-user scenarios, but even an early micro could be so used, if you e.g. ran a BBS on it.) Memory protection and the like are important features to be sure, but they don't define a segment class. And the micros quickly gained these features anyway, with machines like the Motorola 68020 and the Intel i386. The early OS's like MS-DOS/Win 9x and Classic Mac OS didn't make use of them, but this was entirely due to performance concerns, combined with running a CPU-intensive GUI. The transition to a memory-protected, secure-by-default OS was entirely foreseeable, even aside from the sensible concerns about an "internetworked world".
VMS also wasn't a mainframe OS: It ran on the VAX, a high-end minicomputer.
Looking at what early microcomputers looked like and what their OSes were based off of (CP/M in particular) it would be more reasonable to say that early microcomputers were scaled-down minicomputers, which were still in a different league from mainframes in terms of number of concurrent users, I/O design, and focus on interactivity.
Mainframes (pretty much "IBM only" today - I don't know of any other actual mainframe computer manufacturer; to be honest, I am not even sure if IBM is still making mainframes? Ok - just looked, I guess they do) are still batch oriented; what "interactive piece" they have, is just a batch process with a "run forever" run time.
Actually, a lot of early interactive computing was done on time-shared mainframes. I learned to program in 1968 when I saw a Teletype machine in our high school math classroom and found out it could dial into a timesharing system where you could write and run programs interactively.
At first we were dialing into a General Electric mainframe, and partway through the year switched to an SDS Sigma 5 at a local Phoenix timesharing company, Transdata. I got my first job there that summer.
The next year I moved to the Bay Area and started working at Tymshare, where we used a variety of mainframes to provide interactive services, along with some minicomputers for network routing. It was the biggest timesharing company of the day, and there were many others.
Timesharing was a big business from the late 1960s through the 1970s. Of course there were many mainframes doing batch processing too, but interactive computing certainly wasn't exclusive to minicomputers or microcomputers.
Does Cray count?
That was true after 1977, certainly, but going earlier, the S-100 bus computers which ran CP/M had text terminals (and front panels with lights and switches!) and were cheaper than any other kind of real computer, but were more in the mold of the small-scale business machines of the era, called minicomputers, than the Apple II or Commodore-64 were.
You’d be astonished of how mant things run flavors of unix