As with many areas of human progress, failing to understand history is usually a bad thing. So it is with computing. Back in the 1970s, programmers could not afford to waste computer power. Those of us (like me) who grew up in the 1980s with 8bit home computers having only 64K of Ram, including the graphics memory, were used to a simple system with a real immediacy to it. You switched it on, and within a second or two, you could just use it. You had to use a simple programming language to get anything done, even to load games. Assembly language programming was a case of looking up the opcodes, poking them to memory, and jumping.
Recently I came across TempleOs, of which I have begun a SisterWiki at http://tos.chalisque.net/, which is intended to have something of that immediacy of the original CommodoreCSixtyFour, but be written for modern sixty-four bit IntelArchitecture. I intend to find my way around that system with a view to doing something similar but following my own programming aesthetics.
Back in the 1970s, we had ForthLang, by ChuckMooreForth (not to be confused with ChuchMooreIntel). This was greatly misunderstood, Forth really being a LanguagePhilosophy and a ProblemSolvingPhilosophy, and one based on minimalism.
Then there is LispLang, and what AlanKay called MaxwellsEquationsOfSoftware, namely that in LispOnePointFive, one could write a valid function that would correctly evaluate a lisp program, expressed as a standard LispExpression.
I shall collect together what I consider to be the important books to have on your bookshelf. It may appear to be an odd choice to some, and my obsession with the AncientPastOfComputing, namely the time before the SecondWorldWar, to be anacronistic. To me, however, the way the MiracleOfModernComputing is currently being used is way below what it could be. Rethinking how computing could have gone were it not for CommercialPressure is an important ThoughtExperiment.