As one of the oldest programming languages still in use today, Lisp has a rich history in computer science. This legacy sometimes obscures the fact that Lisp is also a mature, modern language with a lot of practical benefits. Programmers and anyone interested in the progress of computation will want to tune in as Phil Windley speaks with Peter Seibel, author of the best selling Practical Common Lisp, to answer the question, why Lisp?
Seibel came to Lisp after exploring various other languages, and has been captivated by its power ever since. He encourages coders to set aside their pre-conceived notions of Lisp as a slow, interpreted language only good for symbolic processing. This in-depth discussion highlights Lisp's quality as a multi-paradigm language which can encompass functional, imperative, procedural and object oriented code, and probably whatever else comes down the road. Through its language oriented architecture, Lisp offers a lot of flexibility to programmers by allowing them to embed their own linguistic components to solve particular problems.
Rather than getting bogged down in history, Seibel's Practical Common Lisp combines discussion of the language's character with practical examples of the most interesting and useful aspects of Common Lisp today. For instance, Lisp excels in the ability to make abstractions using macros. Such a notion is off-putting to some programmers, but an illustrative tutorial from the book explains how useful this approach can be for tasks such as parsing binary data in the ID3 tags embedded in MP3 files.
Lisp inspires passion among its adherents, but how does it compare on practical issues such as an active developer community and job opportunities? Seibel notes that historical, technical and social factors have contributed to Lisp's reputation as outdated, but sometimes we are blinded by false assumptions based on popularity or reputation. Lisp can be the best tool for many jobs, and its benefits can be combined with other components to balance the strengths and weaknesses of different tools.
Peter Seibel is either a writer turned programmer or programmer turned writer. After picking up an undergraduate degree in English and working briefly as a journalist, he was seduced by the web. In the early '90s he hacked Perl for Mother Jones Magazine and Organic Online. He participated in the Java revolution as an early employee at WebLogic where he helped implement various parts of what became Weblogic's J2EE offering, including JNDI, Servlets, and EJB, eventually managing the EJB team. He also taught Java programming at UC Berkeley Extension. At both Organic and Weblogic he was the resident language lawyer and has since been an avid comparative computer linguist.
After WebLogic he worked at Kenamea as a Technical Director in charge of the architecture and implementation of an internet-based transactional messaging system . He was also responsible, as the firstengineer hired, for developing Kenamea's software development process.
In 2003 he left Kenamea with no more plan than to spend a year hacking Common Lisp and ended up writing a book about it, _Practical Common Lisp_, which was recently named a finalist in the technical book category of the 16th Annual Jolt Product Excellence & Productivity Awards.
Peter is also one of the few second generation Lisp programmers on the planet and was a childhood shareholder in Symbolics, Inc. He lives in Oakland with his wife, Lily, and their dog, Mahlanie.
This free podcast is from our Technometria with Phil Windley series.