(photo by phatman of flickr)

Another reference to go along with my previous post notes how Richard Feynman's description of the NASA engineering process,

"The usual way that such engines are designed (for military or civilian aircraft) may be called the component system, or bottom-up design"

coincides with good programming practices.  Jake Voytko notices that Paul Graham says something similar in ANSI Common Lisp,

"Experienced Lisp programmers work bottom-up as well as top-down.  While they’re writing their program down towards the language, they also build the language up toward their program.  This way, language and program meet sooner and more neatly."

Of course, good programmers of all kinds, regardless of their programming language, build systems in this way.  Well designed APIs extend the underlying programming language to make it more powerful for building applications. OpenACS takes AOLserver, a high performance application server that provides APIs specifically for building database backed web applications, and layers on top of that, APIs to build community-based collaboration applications.

posted in
Add comment