Learning Pascal after Locomotive Basic was night and day. And the speeeeeed! I could finally compute 320x200 Mandelbrot set renderings in reasonable amounts of time (few minutes IIRC).
I still have the disk & manual somewhere, as well as a couple related books. And for whatever reason Ctrl-K Ctrl-W still haunts my mind.
It's really mind boggling that the entire thing (CP/M + IDE + compiler + libraries) fit on one side of a 3" floppy disk (<180 kB).
The TP versions started with 3.0, up to 6.0, naturally later versions had to be customised to fit into the floppy.
I used to carry it around for the school computers.
However that is another level given CPC limitations.
How about a Casio PB-2000C, in all its pocketable 910 kHz glory, up to 64k RAM shared between heap, stack, code and RAM filesystem. 192 x 32 LCD and a piezo buzzer. Serial and parallel ports available and a FDD. It also has a ROM card slot. And a card was developed, the only third-party ROM for this platform, by one Hans Larsson in Sweden, in the late 1980s.
A 64k ROM with:
- a mostly TP 5.5 compatible Pascal compiler, crt and friends
- inline assembly
- units, loadable libraries and all
- debugger
- full-screen editor, global search and replace, etc.
- visual file manager
- CLI with redirection and rudimentary shell scripting - variables, conditionals, arguments
While the hardware platform is somewhat available and there is a very good emulator, due to "issues", the DL-Pascal ROM is not at this time publicly available and only a chosen few have access to it. Luckily there is a preservation effort underway.
However it was always BASIC in the models we had access to.
https://en.wikipedia.org/wiki/Xerox_Star
https://en.wikipedia.org/wiki/Xerox_Development_Environment
IDEs go back to how Mesa (Tajo), Interlisp-D and Smalltalk work.
Here are some overview papers
"The Mesa programming environment"
https://dl.acm.org/doi/10.1145/800225.806843
Interlisp-D, you can see all on the recovery project
And naturally the famous Smalltalk issue on Byte,
https://archive.org/details/byte-magazine-1981-08
Turbo Pascal naturally did what was possible on home computers hardware, the iconic 3.0 version that made it take off was released in 1985.
Moreover, interpreters that offered a complete interactive environment for editing, running and debugging programs, had existed for decades for languages like APL and LISP.
Nonetheless, the availability of Turbo Pascal on cheap computers has probably introduced much more people to such a programming environment than the older alternatives, which were available only on big and expensive computers, so at most they were accessible through time-sharing services in big companies or in universities.
I have used Turbo Pascal on 8080- and Z80-based computers running the CP/M operating system, before becoming able to use IBM PC compatibles, where the Microsoft and Borland C and C++ compilers were a better alternative, and it was a good progress over what I had used previously, but before that, in the university I had used a "Remote Job Entry" system which accessed by time-sharing a computer mainframe from a serial video terminal, and you could do with it everything that you could do with Turbo Pascal (for programs written in Fortran), except that its source code editor was far more awkward (it was a line-oriented text editor, where you could see the source code, but to edit a line it was extracted into a buffer at the bottom of the screen and merged back into the source code when editing it was complete).
On CP/M, Turbo Pascal was the most convenient programming environment, but for serious work, where run-time performance mattered, I was using the Microsoft Fortran compiler for CP/M, enhanced by replacing a few of the subroutines from its run-time library with optimized variants. Pascal is really much too weak for number-crunching problems, even if it may be acceptable for non-numeric problems that are not too complex (the original Pascal does not support multi-file programs, Turbo Pascal was extended in a non-standard way to support this).
This website is full of goodies for anyone that cares about history of Niklaus Wirth created languages.
Vim looks pathetic in comparison to it...
https://github.com/skx/cpm-dist
The distribution of Borland's Turbo Pascal v3.01A is approximately 180k.
https://marktheunissen.com/posts/tech/2006-06-03-denthor-of-...
Man. It's kind of crazy to think that I, a Finnish 13-year-old, was reading these ASCII tutorials written by someone in South Africa in those pre-WWW days.
The good content just somehow spread across the globe. People copied these files on floppy disks and uploaded them to BBS's on 2400 bps modems, and after a few months they had been around the world.
The inefficient and expensive distribution was actually a powerful filter for content quality. Today any stupid disinformational shit goes viral around the world in two minutes.
Namedropping another contemporary reference, I probably downloaded them from the Hornet Archive or a mirror.
They were a major step along the short but satisfying road to my first 3D starfield using Borland C++ (acquired via a magazine coverdisc). I felt so l33t.
I was truly disappointed that Turbo Pascal did not copy my handy PORT-metavariable. You can write & read IO-ports without any extra hässle:
Here is the first function of your example in TP3: procedure DataOut; begin while (Port[$f5] and 1) = 0 do; port[$f4] := Data; end,
Originally you had to write inline assembly.