Lisp: Good News, Bad News, How to Win Big is an essay written by the American computer scientist Richard P. Gabriel in 1991. At that time, he worked a lot on the Lisp programming language. The main topic of the essay is the advantages and disadvantages of that programming language, and how accepted it was by the programmers, as well as some of its uses.
One of the biggest successes in Lisp is that there is a standard Lisp called Common Lisp. This wasn’t considered the best Lisp but it was the one ready to be standardized. There was a Common Lisp committee formed by users of different Lisps across the United States; Common Lisp was a coalescence of the Lisps these people cared about.
It used modern compiler technology of that time, so compared to older Lisps it had a very good performance. It also had multitasking and non-intrusive garbage collection, both were great features that weren’t possible before that time.
The environments had a lot of good qualities like windowing, fancy editing and good debugging. Almost every Lisp system had these kinds of environments; a lot of attention had been paid to the software lifecycle.
Lisp code would coexist with C, Pascal, Fortran and other languages. Lisp could invoke them and be invoked by them. This was useful to manipulate external data and foreign code.
At the moment it had the most powerful, comprehensive object-oriented extensions of any language. This was really important because OO was the new trend.
The rise of worse is better
One of the biggest problems of Lisp was the tension between two opposing philosophies. The right thing and worse is better. Lisp designers used the right thing, while Unix and C designers decided to use the worse is better. In the long run the worse is better philosophy resulted to be better because it takes a lot less time.
Good Lisp programming is hard
In Lisp, the developers could write really poor code that still worked, this meant that if the developer didn’t make enough effort to write good code, the program would work but it would perform really poorly.
Non-Lisp environments catching up
The Lisp environments didn’t progress in years, while languages like C were evolving really fast and surpassing Lisp.