The Development of the C Language (2003)
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!<p>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!<p>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...