Comment Re:In a way, they are correct (Score 1) 284
The Burroughs large system architecture had (still has, although it's now emulated on x86) tagged memory, so that the hardware could distinguish references to fundamental types and ensure consistency; it also had non-page-oriented virtual memory (maybe one of the tag bits for a pointer said non-resident?). It worked, and it had a reputation for security - banks tended to use those for decades. Think of it as a bit analogous to a JVM on hardware, an instruction set designed for the high level language (ALGOL). It didn't even have an assembler per se (although the system implementation flavor of ALGOL had the added ability to do what amounted to embedded assembler).
It also had typed files: only an executable typed as a compiler was allowed to change a data file to a (read only) executable, and only an administrator could change some other file type into a compiler . So in principle, nothing could run on it except trusted compilers and code produced by them. And mere applications programmers didn't have the privileges to use the system version of the compiler, just the application programmer version, which couldn't do the more dangerous things.
It supports or supported quite a range of languages in addition to various flavors of ALGOL. At one time, it had a flavor of PL/I; and presently, it has a C compiler and (limited) POSIX interfaces.
The design is unusual even today, and was very innovative in 1961!
Something a bit beyond that could arguably provide a degree of hardware-level support for an object-oriented language, perhaps making it safer, perhaps making it a bit easier to do syscall wrappers.
On the flip side, even on such an unusual architecture, a C compiler was possible, although one might imagine that the architecture makes certain ways of shooting oneself in the foot more difficult to get away with.