IIRC it doesn't have a stack. So all variables are globals. There is no way to call a function with a parameter - to be accurate, there are only subroutines; no functions.
I had a severe pain in my neck (cervical spondylosis) for 2 years radiating to my arms and head. At a point, I started getting black outs and random head tingling, driving me crazy. I consulted an Ayurvedic doctor & applied a medicated oil with daily sun exposure for an hour. The pain became manageable after 6 months. I have a livable/bearable pain for the last 10 years - but it no longer bothers me much. The oil saved my mind. I can share more details if anyone is interested (email in profile).
I am finding many things to learn on this from the book 'Philosophy of Software Design' by John Ousterhout. There is a video in YouTube where John Ousterhout outlines the core principles present in his book.
Nice article from Oliver Heaviside. Essentially, it comes down to the realisation that experimenting with mathematics holds as much virtue as reason with logic.
I have observed the same (abstracting the essentials) in some of young children's drawings. They seem to be adept in identifying the essential elements from the details.
Sometimes I wonder if anyone can write a JCL from scratch. A new JCL is always copied from an existing one and the gets modified. The first couple of lines of a JCL are particularly scary if I recollect properly.
IMO the book "Computer systems : a programmer's perspective [Randal E Bryant; David R O'Hallaron]" provides a good foundation on this and other lower level system details.
Sure - Please suggest. I have been buying books (the likes of Apostol, Spivak, Artin) and doing self study. The typical pattern is start solving the problems and I get stuck with tough ones. And I hardly go past the third chapter of all the books that I had bought because of this.
Scheme is not my first language and I am still greatful for it. I am self learning SICP for past 3 years (after working 15+ years in non-lisp languages). Though still in chapter 2, it has cleared up and simplified my thinking about programming. I no longer consider bottoms up approach to be sin. Understanding new functional language specs becomes a breeze and it 'just clicks'. Though I am yet to understand why Clojure could not implement tail recursion without the 'recur' keyword.
I have similar feelings except my alone time is some times tinged with guilt. That I am not spending it with my daughter (though I do spend lot of time with her )