Me, and most of my friends pirated Turbo Pascal and had a blast with it. This was the early 90s mind you. Rapid Windows GUI prototyping, inline assembly and compile to .EXE, way better than qbasic / gwbasic of before. And it took years for Visual Basic to catch up (if it ever did).
Because the BASIC interpreter lives in ROM, that's "free". Some of the 4096 bytes is house keeping data for the system, but most of it can be used by your program and your data. Whereas Pascal doesn't live in the ROM, so if we're going to run Pascal software the entire Pascal runtime must fit in RAM before our program and data.
By the late 1980s I had a computer with 128kB of RAM, and sure that might have been a good place to try Pascal, if I'd been aware of Pascal, but I was not.
I feel like Pascal was a nice gateway into C from Fortran/BASIC, but it arrived so late I'm not sure it was really efficient in terms of learning.
On the IBM PC, Turbo Pascal was cheap and hugely popular in the late 80's and early 90's for hobbyists. Mind-blowingly faster than BASIC and you could mix in assembly. Lots of demos and games (and BBS doors) were written in Pascal.
http://archive.gamedev.net/archive/reference/listed82.html?c...
Plus, don't forget hobbyists would 'borrow' software from each other, you'd get a free (possibly older version) of a compiler with a book...
I think I paid $69 for Turbo Pascal (spent all my birthday money in 1992), previous to that I had an old version of Microsoft Quick Pascal that was only $14.95 from Surplus Software. As well as Turbo C 1 that came with a book from SAMS publishing.
I was in a computer club and I remember a big bearded guy from IBM (one of the club founders) introducing a new programming language called "C", and thinking "why bother, when you can just code in assembly?"
My experience was with the Apple ][.
Instead of Pascal or C, almost everyone went from Applesoft Basic straight to assembly, with LISA being the tool of choice. (Laser Systems Interactive Symbolic Assembler - https://en.wikipedia.org/wiki/Lazer%27s_Interactive_Symbolic... written by Randy Hide, a noted Apple 2 expert who also wrote this guide: http://www.appleoldies.ca/anix/Using-6502-Assembly-Language-...)
We had 1Mhz. One "core". 48kilobytes of addressable ram (actually less, once the buffers for video space were subtracted). That's an extremely limited space.
Of course the workflow was awful. boot up. Open your editor. Edit your source code. Save to disk. Quit your editor. Run the assembler. No errors? quit and exit to DOS. Reboot & run your new code. (If the program were large, boot to DOS tools disc and copy the code from one floppy to another, then boot that new floppy.) Lather, rinse, repeat.
Applesoft Basic and Assembly were enough for me, until I took my first professional programming job in the 80s and learned Pascal to code for the Lisa and then the Macintosh. I learned C in the late 80s for Windows 2.1, 3.0 and then C++ (beginning with the Microsoft C++ beta compiler distributed on something like 20 5.25" floppy disks. I moved to C# as soon as Microsoft introduced DotNet and others in the decades since, but I never had as much pure joy as the time I spent on my Apple ][. I still have it, and remarkably it still runs 100%, and most of my floppy discs (memorex! gorilla!) still work, even though I used a "nibbler" tool and used both sides. At $5 each (!!) for 80k of storage we had to stretch the budget.
Using MS C (version 3 and onward) on PC and Megamax C on Atari ST were great though. I didn't run into C++ until the 90s on Windows, NT and OS/2.
[0] https://en.wikipedia.org/wiki/Action!_(programming_language)
Me... I saved and bought a pascal compiler for my C=64.
https://worldofspectrum.net/pub/sinclair/books-pics/p/Pascal...
Pascal on 8 bit was just too damn slow compared to the alternatives to be very useful and compile times were horrendous. Even the university students that had access to Pascal compilers for the most part only used them to turn in their assignments and avoided it for everything else.
I did a little contest with a friend: we both wrote a chess program, he wrote his state of the art with a ton of optimizations in Pascal, I wrote mine in assembler. His program never stood a chance against a very simplistic implementation that only had minimax and a greedy (strictly material based) evaluation routine.
Good times :)
Compiling a simple snake, or tetris game, takes about two seconds. CP/M with turbo pascal is pretty fast.
I started my journey with ZX Spectrum BASIC, then z80 assembly, before jumping to MS-DOS and x86 assembly. Learning C, and other languages, didn't start until my 16-bit days.
(Though I have a memory of receiving a FORTH system for the ZX Spectrum I don't think I did anything useful with it, or fully understood it given that I was about 15 at the time.)
When I was in 8 bit territory the best I could get was 360K floppies and running any kind of serious compiler required multiple floppy swaps to get the passes in. 6809 with 64K RAM was the best 8 bit system that I had, the next best was a BBC Model B with a very much maxed out Solidisk (more than maxed out, we ran more banks than were officially supported).
The board uses an USB-stick for storage, formatted as a FAT filesystem which makes exchanging files between this and another system easy - though of course you can transfer files over the serial port.
The biggest issue is that the board has only 62k of RAM so I'm stuck with CP/M 2.2, rather than 3.0 which requires paging-support. Still I can run infocom games, BASIC, Turbo Pascal, and other retro things.
My code repository contains a link to a youtube channel where the board was discussed, and where I found it randomly. But sadly the upstream site of the provider and the (useful) forums it hosted are gone unless you use the wayback machine:
By the mid 1980s they came out with an operating system called OS-9 which was a multitasking OS inspired by UNIX.
https://en.wikipedia.org/wiki/OS-9
You could get a few languages for that, including a C compiler. A lot of people were using C on CP/M so I would type in programs from Byte magazine. I wrote a FORTH (in assembly language) for OS-9 that was subroutine threaded and unusually had a C like API to access files instead of the block based I/O most FORTHs had.
By the late 1980s I had a 80286 machine and wrote a lot of Assembly, C and Turbo Pascal. I thought Turbo Pascal was better than C but switched to C when I got to college because it was portable to the Sun workstations they had. By the time I got to grad school I got a 486 and switched to Linux.
Personally I liked 8086 assembly a lot and even though the segmentation scheme it used could be awkward I thought it was fun to code.
I think earlier versions of Pascal had only fixed length space padded strings.
Yeah, 6809 and 8088 (arguably an 8-bit CPU) supported C just fine. The other 8-bits, not so much. I wish the CoCo had been a better computer than it was (crappy keyboard, not a real serial port, terrible video). My Atari 800XL was better except for its CPU.
The thing about the CoCo was that Radio Shack sold an absurd number of peripherals for it.
I got a "multi-pak" which would let me plug in four devices to the cartridge slot and I had a real UART for it. The built-in sound was awful but you could get an Orchestra-90, a speech synthesizer cartridge, etc. Most of the hardware and software at the time supported hardware flow control which made the bit-banger serial report more reliable than you might think at low speeds.
The video was a real problem, I think a lot of software didn't get ported to the Coco because everybody thought 40 column text was bad enough, who wants to deal with 32? For instance I never saw the Infocom games being available for the Coco although I found out just recently that Infocam had made a Z-Machine interpreter for it. Eventually they came out with a Coco 3 that had 80 column text and high resolution modes with a lot of colors but it was getting late at that point.
E.g. Oasis Software had White Lightning FORTH ad Basic Lightning[1] and a few others. I never tried the FORTH version, but Basic Lighting and the successor Laser Basic and Laser Basic Compiler started with a bunch of BASIC extensions and eventually added compilation on top of that. The extensions did things like install raster interrupts to virtually increase the number of sprites and provide sound routines, as well as add pre-emptive multitasking(!) on the C64. If I remember correctly, 3-5 BASIC tasks + sprite animations could run concurrently - I don't recall seeing much point, because around then I started with assembler and cycle-counting raster interrupts was suddenly where it was at.
I vividly remember the demo programs the screenshots on the page linked below are from, though...
Who'd want Pascal when you had stuff like that, though? My introduction to Pascal came on my dads boring and slow ITT XT PC, mostly out of curiosity as to how anyone could use a machine that was so obviously inferior to my Amiga - monochrome, no bitmap graphics, no proper sound, less memory (I had a 512KB expansion, for a full megabyte)... Of course it had a harddrive, but it also costs 3 times as much... But I did end up experimenting with Turbo Pascal and some dBase for a while.
[1] https://www.jimbrooks.org/archive/programming/forth/WhiteLig...
I learned Pascal on my Atari ST as a 18yo. I had already done commercial games for years in assembly for the ZX Spectrum and had learned m68k, but writing GUI programs for the ST in assembly seemed very annoying. Purchasing the compiler, though... was not really what happened.