Peculiar and Suggestive Quotes

Perhaps the new display terminals will provide the answer, as a notation for programs that will provide an appropriate reflection of the structure as we might have it in our minds. You have perhaps had a dream much like mine: Wouldn't it be nice to have a glorious system of complete maps of the world, whereby one could (by turning dials) increase or decrease the scale at will? A similar thing can be achieved for programs, rather easily, when we give the programs a hierarchic structure like those constructed step-wise. It is not hard to imagine a computing system which displays a program in such a way that, by pressing an appropriate button, one can replace the name of a routine by its expansion on the next level, or conversely.

Donald E. Knuth, Stanford University. A Review of "Structured Programming". STAN-CS-73-371. June 1973. Saved from the DIKU library before it closed down, but also available online via the Electronic Library at Stanford University:

I find this quote peculiar because Knuth seems to have envisaged many of the technological marvels I had the pleasure to experience:

  1. virtual mapping programs, which later emerged as e.g. Google Earth and Google Maps in the early and mid-2000's;
  2. features in integrated development environments, e.g. go to the definition of a procedure from its use, or list the uses of a procedure from its definition;
  3. means of abstraction in programming languages, hereunder functions, objects, type classes, monads, and all their polymorphic varients;
  4. means of abstraction in systems programming, hereunder libraries, processes, servers, and user interfaces in general.

I find this quote suggestive because it transcends all these areas. There seems to be a fundamental human drive to enable the exploration and work with a problem domain at varying levels of detail. I would perhaps go as far as to say that a truly structured programming paradigm enables both a declarative and an imperative view of a procedure. Which view is best for the programmer, at any given time, depends on the circumstances of that time.

Programming has become a very important cultural and economic activity and C remains an important element in the programming world. As in all human activities, progress in C is driven by many factors, corporate or individual interest, politics, beauty, logic, luck, ignorance, selfishness, ego, sectarianism, ... (add your primary motive here). Thus the development of C has not been and cannot be ideal. It has flaws and artifacts that can only be understood with their historic and societal context.

Jens Gustedt, INRIA. Modern C. Preliminary version as of March 30, 2015. You might find a more up to date version at

I find this quote peculiar because Gustedt puts down in writing what we are often negligent of in programming communities. Sometimes, we put our programming practices at an unjustified altar.

I find this quote suggestive because it applies far beyond C, in virtually any programming community, and perhaps even, as noted, in "all human activities".

I have regarded it as the highest goal of programming language design to enable good ideas to be elegantly expressed.

Tony Hoare. ACM Turing Award Lecture: The Emperor’s Old Clothes. Communications of the ACM, 1981.

I find this quote peculiar because there are so many general-purpose programming languages in existance, often claiming to enable some (other) good ideas to be elegantly expressed. General-purpose programming languages capture perhaps both a zeitgeist and a range of domains. They were invented for a purpose—because existing languages didn't seem to enable the elegant expression of some new ideas.

I find this quote suggestive because new ideas in new times and new domains may demand new programming languages. A programing language is a tool, and sometimes, we need new tools to do successful work (see next quote).

The enjoyment of one's tools is an essential ingredient of successful work.

Donald E. Knuth, Stanford University. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Third Edition. 1998, Addison-Wesley.

I find this quote peculiar because "tools" and "work" proliferate human endeavours. From carpentry and metalworks to programming, Computer Science, and Mathematics.

I find this quote suggestive because sometimes, making the right tools first, makes for more enjoyable subsequent work. "Work" is also an essential ingredient of learning, so students should be handed useful tools to enable them to learn through laborious, but successful work.

A good notation has a subtlety and suggestiveness which at times makes it almost seem like a live teacher.

Bertrand Russell, The World of Mathematics (1956)

I find this quote peculiar because it has applications in all of the computer-aidable human faculties.

I find this quote suggestive many human faculties remain to be aided by computers due to the lack of good programming notations for aiding those faculties.