3 ms·
Interpreted BASICs (such as BASIC-PLUS on DEC, MS-BASIC on micros) big benefit at the time was speeding up the develop cycle by working with source code in RAM,
by whartung 3y ago
Interpreted BASICs (such as BASIC-PLUS on DEC, MS-BASIC on micros) big benefit at the time was speeding up the develop cycle by working with source code in RAM, and running directly from it, thus skipping the edit/load cycle across crushingly slow I/O.
Turbo Pascal on CP/Ms breakthrough was bringing a similar experience to a compiled language. So you got fast turn arounds, with better performing code. Turbo did this by compiling from RAM, to RAM, and skipping the link process. The Turbo runtime was already loaded in RAM and used by Turbo itself, so the binary just called already RAM resident routines. When the final COM file was saved, it simply bulk copied the runtime to disk and attached the compiled code at the end. This is one reason why even small programs created large COM files with Turbo, they all bundled the entire runtime.
There's nothing particularly slow about a C compiler, but when you wrap it in reading from disk and writing to disk, or, even worse, writing assembly that then had to be assembled, then stacking on a link step, and turn around craters. The practice of several C files having to be linked together involved yet more I/O. Ostensibly there was a benefit of not having to recompile all of the files all of the time (but note, especially on CP/M at the time there were no timestamps on files, so "make" wasn't a real option to do this), hoping for a net win. Linking also let your program include only the routines it truly needed, reducing footprint. Linkers have lots of benefits, performance during the dev cycle is simply not one of them.
As you started to write larger Turbo programs, utilizing include files, and having to write to disk (because the RAM wasn't enough for your code any longer), and Turbo most certainly slowed down. But still not quite as bad as something like C as, again, there was no real linking phase. I have, I think, a 1200 line Pascal program, in several include files, that builds on a 4Mhz (simulated) Z80 and, yea, you can sit there watching the lines tick by. Doesn't take minutes, but it's definitely a time to get a sip of coffee and catch breath looking out the window.
The Atari series had ACTION, which was a very Turbo like system using a simple Algol-esque language. It, too, had a bundled runtime on the ROM cartridge, with a very fast compiler. I tried a C compiler on the Atari, and tossed it after my first build. It was absolutely horrific. The Atari (along with the Commodores) had notoriously slow disk drives.