Over at the Symbo1ics Blog, Robert Smith has a nice post on the myth that Lisp is inappropriate in a production environment. He says that, like many others, he believed that while Lisp is flexible and expressive it would not be good in a production environment. He give the usual reasons for having believed this:
- Too many programming paradigms are supported (functional, imperative, object oriented, …) and so the large teams you find in production environments would have programmers using different paradigms resulting in confusion and incomprehensible code.
- Everyone would create their own macros, again leading to confusion and incomprehensible code.
- The semantics and flow of the code would not be uniform enough.
In short, the power and flexibility of Lisp would lead to the disintegration of programmer discipline.
But then he took a new job that used Lisp exclusively and had a code base of several hundred thousand lines of code. He found to his delight that understanding the code, while a challenge at times, was no harder than in any other similar environment with a different language. This despite the fact that many of the original developers were no longer at the company.
Head on over to the post and read how Smith found all the reasons that Lisp wouldn’t work in a production environment to be false. Then bookmark the post for the next time someone tries to explain how “Lisp is all well and good but it’s completely impractical in the read world.” It will give you something to point at besides ITA.