I like the curiosity of the Amiga OS that was developed in an interim period between BCPL and its successor C. Amiga OS was originally based on a port of TRIPOS to the Motorola 68000 by MetacomCo. It was eventually replaced but it would take some time. In AmigaOS 1.x, AmigaDOS is still based on TRIPOS and thus written in BCPL. BCPL didn't have native pointers so applications were difficult to write and error-prone. AmigaOS 2.x rewrote it in C but maintaining compatibility to BCPL where possible so IIRC it was somewhat littered with shims for that. Only in AmigaOS 4 was the BCPL heritage completely shed, 20 years later!
Nowadays, AmigaDOS sounds like a true antiquity but at the time, I remember I always found the shell surprisingly capable and modern! Especially for what was first and foremost a home entertainment system (although Commodore didn't want it to be only that). We even mounted volumes under arbitrary names, much like on Unix, had RAM drives and even RAD drives -- semi-persistent drives that made use of the fact that its RAM circuits were persistent enough to survive reboots!
I absolutely felt like I was thrown back in time when finally going PC and I suddenly no longer had my DOS able to multitask in a visual environment with all these features, and rather had to challenge myself with freeing up 600 KB of conventional RAM...
Amiga cane decades after C. It was only due to a geographic quirk that people were still using BCPL at that time. They could have used C (for years) but chose not to.
It took me until around 1998 before it felt "right" for me to finally switch from my beloved Amiga 3000 to PCs running either Win95 or NT4, and even then some specific use cases (like trying to work on the command line) felt entirely medieval compared to the Amiga. At least the games were better on PC though.
More accurately, the earliest "C Reference Manual" that I have seen has the date 1974-01-15.
It includes all the new features that have differentiated C from B, most of which have been implemented during the summer of 1973. Therefore, by January 1974 C was complete.
The next significant modifications of the language after that date have occurred only during the ANSI standardization process (which ended in 1989, so perhaps the poster above has meant that Amiga happened between K&R C and ANSI C).
I first learned C on an Amiga, back in 1989 or so (Lattice C compiler, which became SAS/C.) All the books and documentation at the time was K&R style. Around 1991 or so, I remember reading K&R second edition, which was ANSI C.
TRIPOS was developed in 1976-1979, with the 68000 port finished in 1981.
Only the Amiga's disk operating system and command-line shell were from TRIPOS. The underlying "Exec" (microkernel) had been developed at Commodore-Amiga: It was close enough to similar facilities in TRIPOS that it made porting relatively simple.
Commodore-Amiga had originally hired another company to write the DOS, called "CAOS" (Commodore Amiga Operating System), originally intended to have been even more similar to Unix than TRIPOS was. But that company had failed to deliver, and the release date was fast approaching, so the choice of TRIPOS was an emergency solution.
Yeah I really wish the copyright holders would give it up and open source OS4. It’s one the few sweet spot personal OS’s that are single user multi tasking. I guess AROS is close but it’s clunky.
Nowadays, AmigaDOS sounds like a true antiquity but at the time, I remember I always found the shell surprisingly capable and modern! Especially for what was first and foremost a home entertainment system (although Commodore didn't want it to be only that). We even mounted volumes under arbitrary names, much like on Unix, had RAM drives and even RAD drives -- semi-persistent drives that made use of the fact that its RAM circuits were persistent enough to survive reboots!
I absolutely felt like I was thrown back in time when finally going PC and I suddenly no longer had my DOS able to multitask in a visual environment with all these features, and rather had to challenge myself with freeing up 600 KB of conventional RAM...