https://youtu.be/tz-Bb-D6teE?t=2161
His argument was that while assembly allowed for more optimized local routines, they've lost the perspective on how the system should behave at large (the handling of window drawing routines, etc.)
https://youtu.be/tz-Bb-D6teE?t=2161
His argument was that while assembly allowed for more optimized local routines, they've lost the perspective on how the system should behave at large (the handling of window drawing routines, etc.)
Building higher-level code was accomplished just like it's done today: from smaller modules / subroutines. PUSHJ - Push PC and Jump, or 'Call'.
These days, writing software is almost magic, meaning there is a whole 'chain of trust' that must be invoked -- all based on belief that it's all correct -- before proceeding. With assembly, magic stops at the hardware / software boundary; that is the actual machine instructions.
Xerox PARC used Mesa with microcoded CPUs, after using BCPL initially.
IBM used PL/8 for their RISC OS and compiler research.
OS/400 was written in PL/M.
There are plenty of other examples, UNIX was not the only one to be written in an high level language, regardless of what C devs advocate.
Even as late as the 80" there were large business software like telecom switches (ITT's Metaconta or Alcatel's E10) that were written only in assembly. Those software had to be reliable.
Haven't heard that mentioned in a long while.