Greenspun’s tenth rule of programming states: Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp. Although I can’t say definitively what Philip Greenspun intended when he said it, but it’s always spoken to me since I first heard it whenever it was many years ago: if your program (or software system) is going to get to a sufficient size, it’s inevitable that you or someone who is using it will want to automate or extend that program in some language other than that in which it was implemented. Most folks will choose to roll their own, winding up with some sort of half-baked even if Turing-complete kludge, that works kinda sorta. However, it would be far better to start out with something that is a first-class programming language or system and use that to extend the system – or better yet implement substantial portions of that application in that language, blurring the distinction between implementation and extension language.
Share your GIS