When our development process began, there was ferment in the Lisp community. One of the more important events relat- ing to the design of the new IBM Research Lisp system was the publication of the Bobrow and Wegbreit paper [Bobrow and Wegbreit 1973] proposing a new control structure, the spaghetti stack. We immediately seized on the elegance and flexibilityof this idea.
A key component of this model of computation was the con- cept of the saved state, a data object which captured both the set of current variable bindings (the environment) and the current call chain and point of execution (the control). We have used saved states (state descriptors) extensively, both as a form of continuation and as a component of closures.
setjmp/longjmp if the states were not on the stack. (of course nobody would be so crazy to actually use longjmp, just properly save the stack state: env and control)
if jumping back into inner states (i.e. out of control stacks), the stack frame needs to be preserved also. as in call/cc later.
that's like saying the 18th century was more "civilized" because we settled squabbles with dueling pistols. people are still people and we are just about as civilized today as we ever were. which isn't saying much.
the analogy holds for programming languages as well as it does for anything else involving people.
Just a fanciful quote with some license. But one might argue the defn of civilization as applied to general programming with so much of it being commodity programming these days. Additionally, I believe an argument could be made that the long-term tyranny of the C bubble has actually retarded the advancement of the art.
https://www.softwarepreservation.org/projects/LISP/ibm_lisp_...