6 ms·
This paints Bill Gates as not a tech person and a business first person, which is not true. He got a BASIC compiler on the altair which MITS thought couldn't be
by terabyterex 1y ago
This paints Bill Gates as not a tech person and a business first person, which is not true. He got a BASIC compiler on the altair which MITS thought couldn't be done. He helped Wozniak implement a version of BASIC supporting floating point numbers. Gates didn't even want to take Microsoft public. They had to convince him. Ballmer was the biggest businessman in the bunch. Hell, he was the one that suggested kidall since Microsoft wasn't in the OS business.
- Upvoter33 1y agoThis is mostly true. Gates was a tech wizard - a great programmer before there were even books about programming. But to make it sound like Gates wasn't a business-first guy is wrong - he wanted to sell software from day 1. Read any early bio about him and his speech about selling software to the homebrew club (https://en.wikipedia.org/wiki/An_Open_Letter_to_Hobbyists https://en.wikipedia.org/wiki/An_Open_Letter_to_Hobbyists).
- rbanffy 1y ago> BASIC compiler Interpreter - an entirely different kind of animal. Microsoft didn't get a BASIC compiler until much later. > He helped Wozniak implement a version of BASIC supporting floating point numbers. No. He sold Apple a BASIC, then used it as leverage to prevent Apple from making a BASIC for the Macintosh. > Ballmer was the biggest businessman in the bunch. He suggested cutting Paul Allen's family off when Allen was battling cancer.
- WalterBright 1y agoUm, it is necessary to compile a program before being able to interpret it. I don't know how early BASICs were implemented, but the usual method is to compile it to some sort of intermediate representation, and then interpret that representation. D's compile time function execution engine works that way. So does the Javascript compiler/interpreter engine I wrote years ago, and the Java compiler I wrote eons ago. The purpose to going all the way to generating machine code is the result often runs 10x faster.
- eichin 1y ago> necessary to compile Um, no? your experience is probably at least two decades after the time period in question.. The more advanced versions of, for example, the TRS-80 BASIC (part of this "microcomputer BASICs that all share a common set of bugs") did no more than tokenize - so, `10 PRINT "Hello"` would have a binary representation for the line number, a single byte token for PRINT, then " H E L L O " and an end-of-line marker. Actually interpreting the code involved just reading it linearly; GOTO linenumber involved scanning the entire code in memory for that line number (and yes, people really did optimize things by putting GOTO and GOSUB targets earlier in the program so the interpreter would find them faster :-)
- EvanAnderson 1y agoI was going to post this, but you beat me to it. It's a VM of a sort, and the p-code the VM executes is tokenized input.
- WalterBright 1y agoTokenizing it and interpreting the token stream is still a compilation process. Even if it re-tokenized it each time it executed a line.
- wvenable 1y agoTokenizing is a necessary but not a sufficient task for compilation. I could tokenize this comment to efficiently store it in a database but that would have nothing to do with compilation.
- WalterBright 1y agoRecognizing `3+x*(2+y)` is compilation - even if the program is being executed while compiling it.
- wvenable 1y ago
- zozbot234 1y agoMITS was correct. TinyBASIC is a very different animal from the language for time-sharing minicomputers that was what people actually meant by "BASIC" at the time. For one thing, TinyBASIC was a language interpreter and not a compiler.
- rbanffy 1y agoAnd had no timesharing features at all.
- 8bitsrule 1y agoTS was fairly scarce in those times - let alone on PCs. I wonder when the first general-purpose time-share system was available ... outside of mainframes? I know UofM's MECC had MECC Timesharing System (MTS) up on a Cyber73 in 1977 ; before that, their SUMITS had to make do with batch-processing on a FunnyVac.
- rbanffy 1y agoDRI had MP/M in 1979. I'm thinking about writing a multi-user dungeon for it. There doesn't seem to be any multi-user games for MP/M and, with the ability to host 4 terminals on an emulated Altair, it seems like a waste of resources not to have one.