Although it has now been ported to Windows, Piano would not exist without the Macintosh. Early work on Piano's precursor (a system called Rapide) was done in Unix on a Sun3 workstation. It continued on an Apple Mac II under Coral Lisp (later Macintosh Common Lisp) and the circle closed when the Mac also became a Unix machine. But despite having said in the past that I would "rather open a restaurant than work on a PC", with the right partners I didn't need to: Thanks to the skills of Clozure Associates and some of the most impressive Lisp specialists in the world, Piano now runs on Windows under the Lispworks environment. And the best thing is that I still don't use a PC. Because with Parallels (or BootCamp), Windows runs in my Mac.
Piano was originally written by one person, me. This often surprises people, maybe because they only see the current state of a gradual evolutionary process. I don't think I'm any kind of genius, nor am I Homer Simpson. Some inspiration, lots of perspiration, time, Greek stubbornness, and presumably an obsessional streak did help though. These are, again presumably, contributing factors in Piano's success. But, just between you and me, there really is a secret hiding behind it:
By far the most significant factor in making Piano possible is Lisp. But Lisp is just another computer language, and software can be written in any language, right? Right, but remember that software is very much a human practice. Don't expect convenient justifications for this (not even John McCarthy, who conceived Lisp in 1960, claims to really understand the reasons for the expressiveness of his brainchild). Unusually for a language, Lisp has formal mathematical origins, resulting from lambda calculus in a search for alternatives to the idea of a Turing machine. To me, the root concepts of Lisp appear fundamental, and may occupy a position akin to that of set theory in mathematics: The most natural level from which arbitrary, complex, extensible structures can be built. If you are intrigued, you can try your own internet journey, for which a good starting point might be Paul Graham's articles here and here. But you are too busy for that, right? So are most software developers involved in the Aerospace industry - or any other engineering industry. And intricate, convoluted multidisciplinary design software continues to be built out of cement blocks instead of being carefully shaped from sculptural clay. Since no-one cares for what appear at first glance to be abstractions, everyone toes the line and sticks to C, or fortran, or whatever is the current corporate standard-ex-machina. And therein lies the wonder of it: Lisp is the secret weapon, but it is perceived as a hobbyhorse, and so stays a secret. One can shout about it from the rooftops, yet it remains safe! Which is totally cool and just great for the little guys.
Home | back to FAQ