4 ms·
Great story. Surprised that he had experience with C, but wanted to rewrite their product in assembly instead. The timeline given was understandably not very
by mixmastamyk 3y ago
Great story. Surprised that he had experience with C, but wanted to rewrite their product in assembly instead. The timeline given was understandably not very precise, but C and even Pascal compilers should have been starting to be available around this time.
- Animats 3y agoAvailable, yes. Good, no. Nobody had enough memory space on PC-class machines to do a good compiler. (AutoCAD for the original MacOS was compiled on Sun machines, because the Apple compilers were so bad.)
- seanmcdirmid 3y agoI’m pretty sure the memory/storage resources and performance available on Sun machines had something to do with it also. Since this is pre-Sparc, they would have been running the same CPU architecture (Motorola 68k).
- SoftTalker 3y agoWere Borland Turbo-C and Turbo-Pascal not "good" compilers? I seem to recall they were pretty popular back in the early PC era.
- mixmastamyk 3y agoThose were, a decade later on a 386+. Understandably, 1983 with a 8080 and compiler version 0.9 was probably a lot dicier. It's hard to remember now, but the original PC was downright primitive, and most didn't have even the full 640k RAM installed! I assumed a decent lightweight compiler existed, but sounds like not.
- bruce511 3y agoAs an anecdotal reference, in high school, 1985-1987, we used Turbo Pascal 3 on 8086 machines. 640k ram, but it was a pretty zippy compiler even then.
- MichaelRo 3y agoPrecisely. I started high school in 1992 and the only two IBM-PC compatibles in the computer class (the rest being CP/M machines) were an XT-8086 and an AT-80286. The XT had a very fast Turbo Pascal compiler, I don't recall the exact version but could have been 3.0. AT machine had 5.0 or something and was significantly slower although not to render it unusable. That's until someone wiped out 3.0 from the XT machine and replaced it with the same 5.0. Compile time of a simple "hello world" program raised from under 1 second to at least a minute. Rendered unusable and worst part was that 3.0 was completely gone, no floppies to re-install it. They had it solely on the hard drive (probably 20Mb or so) but now was gone.
- tie-in 3y agoThe 1-min compile time for TP5 doesn't sound right to me. I used Turbo Pascal versions from 3 to 7 back in the day, and all of them were quite fast (one-pass compiler). Turbo C++ was another matter though. The same example programs compiled drastically slower (seconds vs minutes).
- theragra 3y agoThat is one thing I really miss. TP was defacto language to teach in exUSSR. In many cases,TP or later Delphi followed as IDE for real apps. Pascal had its issues, but compilation speed was insane. When most people switched to java or c#, we lost this. Authors of both could have not used language so similar to C, but it happened. I dunno, maybe I need to adjust and think before compiling, or switch to Go.
- mixmastamyk 3y agoOk, but no IBM PCs shipped with an 8086 processor. Maybe you mean an upgraded clone, or the 286?, which was a significant leap. Wikipedia says the first line of PCs maxed out at 256k of RAM. Except on expansion card. Not until the XT did it support 640k on board. Also, importantly I meant 8088 above! Not easy to stay accurate after all these years, right? We were reading Petzold's Code recently and it goes on and on about the 8080, and so believe that made its way into my writing.
- tyingq 3y agoThe most popular targets for Visicalc at the beginning were 6502 and z80 machines, where really no C compiler was ever good for those targets.
- eichin 3y agoThere were definitely pascal compilers though (you could boot p-system on the trs-80 model I even, though you needed at least 32k of RAM.)
- MikePlacid 3y agoThere was a Mini C (C subset) compiler written in Mini C and running on a Russian version of z80 in the beginning of 80’s. It was small and very observable (I’ve changed the code generator there to produce code for IBM/370 - and so we’ve bootstrapped this compiler to a Russian IBM/370 to run some games written in Mini C)) Not sure if such a thing is much better than assembly language in industrial context: it would speed coding up, but you would need to check the results thoroughly. Only the real test can tell if there is a time / quality benefit in sum.
- kragen 3y agoas i understand it, turbo pascal generated pretty bad code and i don't think turbo c existed yet. it isn't impossible to do an optimizing compiler in 64k data segments and half a mip but usually people used multiple tape drives to make that kind of thing feasible