#lisp #ucw #CommonLisp #UnCommonWeb #why
Refreshing Desktop Management
One advantage to a proprietary hosted application is that no one cares what you use to get the job done, as long as it works. Now that we are open source, there is understandable interest in what that source code looks like. In our case, it turns out the majority of our software is written in a language called Lisp. For most people that even recognize the name, Lisp is that funky artificial intelligence language with all the parenthesis that was cool in the 80s, but is now dead.
Lisp is not dead, it just smells funny —Edi Weitz
So, why did we choose Lisp? Part of the answer involves Paragent’s history. When Paragent started, our goal was to create a development platform that would allow programmers to take advantage of idle computing resources in a corporation. We developed a peer-to-peer agent that spoke a special xml-based language that would make it easy to write programs and distribute the workload across many machines. When we decided to shift our focus from a development platform to a hosted desktop management service, we took a good hard look at what we had. It became pretty clear that we were a poster child for Greenspun’s Tenth Rule:
Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
We decided to take a closer look at Lisp as a possible implementation language for the new server component, along with Ruby/Rails, PHP and Python. I won’t go into detail on why Lisp is so great as there are many resources available that do a much better job than I can. Perhaps one of the most influential in much of Lisp’s recent resurgence is Paul Graham’s Beating the Averages. In addition, a new book by Peter Seibel called “Practical Common Lisp” had been released around the same time that we were considering implementation alternatives. He has a wonderful chapter on why lisp, and then followed it up with 31 more chapters of great Lisp programming education. After much deliberation, we decided to give Lisp a go.
True to the promises, we were able to develop and launch the first version of Paragent in record time with a limited budget. We were adding minor features every week, and then came out six months later with major new functionality including remote desktop and trouble tickets. In addition to the development productivity afforded by Lisp, we benefited in areas such as maintenance and support. One example is the ability to update running code on live production servers without missing a beat, sometimes with customers literally looking over our shoulders! Those are just a few of the obvious benefits from using Lisp, but there are hundreds of small ways that Lisp makes our jobs more fun every day.
Hopefully this piques your interest a little in this funny old AI language with all the parenthesis. If you want to learn more, check out the links above, download the Paragent code, and join the community!
Written by tritchey
October 21st, 2007 at 11:34 pm
Paragent used Common Lisp and UCW for their product.
This text was originally posted on: