On a method of expressing by signs the action of machinery

On a method of expressing by signs the action of machinery, Charles Babbage, Philosophical Transactions of the Royal Society of London, 1826.

In the construction of an engine, on which I have now been for some time occupied, for the purpose of calculating tables and impressing the results on plates of copper, I experienced great delay and inconvenience from the difficulty of ascertaining from the drawings the state of motion or rest of any individual part at any given instant of time: and if it became necessary to enquire into the state of several parts at the same moment the labour was much encreased.

In the description of machinery by means of drawings, it is only possible to represent an engine in one particular state of its action. … The difficulty of retaining in the mind all the cotemporaneous and successive movements of a complicated machine, and the still greater difficulty of properly timing movements which had already been provided for, induced me to seek for some method by which I might at a glance of the eye select any particular part, and find at any given time its state of motion or rest, its relation to the motions of any other part of the machine, and if necessary trace back the sources of its movement through all its successive stages to the original moving power. I soon felt that the forms of ordinary language were far too diffuse to admit of any expectation of removing the difficulty…. It then became necessary to contrive a notation which ought if possible to be at once simple and expressive, easily understood at the commencement, and capable of being readily retained in the memory from the proper adaptation of the signs to the circumstances they were intended to represent.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

So the first PL

was a graphical state diagram language and not Lisp after all. :-)

Hmmm

I experienced great delay and inconvenience from the difficulty of ascertaining from the drawings the state of motion or rest of any individual part at any given instant of time:

Are you sure you didn't accidentally cross post from "Why Functional Programming Matters"? :)

COGs considered harmful

It also reminds me of Dijsktra's famous case against GO TO:

… [O]ur intellectual powers are rather geared [sic!] to master static relations and … our powers to visualize processes evolving in time are relatively poorly developed. For that reason we should do … our utmost best to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible.