Surely there must be a less primitive way of making big changes in the store than by pushing vast numbers of words back and forth through the von Neumann bottleneck. Not only is this tube a literal bottleneck for the data traffic of a problem, but, more importantly, it is an intellectual bottleneck that has kept us tied to word-at-a-time thinking instead of encouraging us to think in terms of the larger conceptual units of the task at hand. Thus programming is basically planning and detailing the enormous traffic of words through the von Neumann bottleneck, and much of that traffic concerns not significant data itself, but where to find it.
– John Bauckus in his ACM Turing Award speech, 1977
This is becoming the mantra for my research; it is the simplest possible cogent explanation of why a LARs-like design is important, overdue, and just plain cool. Especially interesting is that the need for such a design was obvious to forward thinking computer folks in 1977, but until now it has only been seriously tackled as a problem for software tools on top of von Neumann style hardware, rather than a cause to change design of the hardware itself. I suspect this quote will find it’s way into the into the introduction of my master’s thesis when the time comes.
My Languages for Computers, Languages for Computing post reminded me of several of the “Perlisms” from Epigrams on Programming, a collection of humorous observations on programming published by Alan Perlis in SIGPLAN Notices 17(9), September 1982. Most of them are still as, or more, relevant now than they were when they were published.
Everyone who deals with computers regularly: GO. READ. THEM.
Some of my favorites:
19. A language that doesn’t affect the way you think about programming, is not worth knowing.
31. Simplicity does not precede complexity, but follows it.
49. Giving up on assembly language was the apple in our Garden of Eden: Languages whose use squanders machine cycles are sinful. The LISP machine now permits LISP programmers to abandon bra and fig-leaf.
87. We have the mini and the micro computer. In what semantic niche would the pico computer fall?
114. Within a computer natural language is unnatural.
The fact that many of the epigrams are contradictory in clever ways just makes them better.
All the big blogs have picked this one up already, but “posting for justice” as they say on “t3h internets”.
In reaffirming the greatness of our nation, we understand that greatness is never a given. It must be earned. Our journey has never been one of short-cuts or settling for less. It has not been the path for the faint-hearted – for those who prefer leisure over work, or seek only the pleasures of riches and fame. Rather, it has been the risk-takers, the doers, the makers of things – some celebrated but more often men and women obscure in their labor, who have carried us up the long, rugged path towards prosperity and freedom.
-Barack Obama, Inaugural Address
On the topic of “Obscure labor”, I plan to put up a post about the potental master’s project I’m embarking on pretty soon here. The topic is sufficently obsucre that it isn’t always easy to relate to other computer engineers, so it may take a while to articulate… and I’m not entirely sure I understand it myself as yet.
Posted in DIY, General, OldBlog