For a long time I developed firmware for 8-bit micro-controllers using C. I decided to try my hand at web development using a high-level language. During my search for a compiled high-level language I discovered Lisp and after a lot of reading I became convinced that Lisp was the way to go, in particular Common Lisp.
I worked for two years on Selective Share and Strongroom. Selective Share is an SDK for building client-side encryption into larger applications. Strongroom is a photo backup solution built to test and demonstrate Selective Share's capabilities.
Except for the small bits of HTML and Javascript needed for the web pages, all the other software are written in Common Lisp. This includes numerous server-side applications and two client-side applications. The client-side programs were developed from the start to run on Linux, Windows and OS X from exactly the same code base. Initial development was done on Linux. Porting to Windows took one week. The OS X port has not happened yet but it should take about the same amount of time.
Common Lisp is well suited for building all kinds of production software. Unfortunately, most literature revolve around teaching the language basics or around the esoteric features that sets the language apart from mainstream languages. The tasks that the average developer needs to do during a typical work day are not well covered.
Writing production software in a language I have never heard of before the project started forced me to learn quickly. The lack of books on the subject of deployment meant I had to learn through experience and by asking on forums. Often getting the answers only from the maintainers of the libraries.
I am now writing a short book on deploying production software written in Common Lisp. The mainstream languages have hordes of books on every single topic. Common Lisp can do with at least one book on each topic. Especially the boring topics.
Find me on the web:
Book site: Common Lisp in the Wild.
Blog: Dark Chestnut.
Twitter: @WimpieNortje
Email: Drop me a note at Contact page. You will get my address in the confirmation.