No tengo experiencia en trabajar para una empresa real, pero sé por qué LISP me ha resultado difícil de usar.
En primer lugar, esto me recuerda a esta publicación de blog: http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html
El principal problema que tengo con Lisp es la pregunta "qué Lisp". Por lo general, trabajo en Linux como mi plataforma principal, pero las cosas que hago deben ser compatibles con Windows. Eso significa que cuando estoy evaluando una tecnología para usar, debe hacerme la vida más fácil cuando trabajo en dos sistemas operativos radicalmente diferentes. No me gusta este requisito, pero usarlo en un proyecto real es un requisito. Ahora usaré idiomas que no tienen muy buen soporte en Windows para mis propios proyectos secundarios personales, pero debido a que nunca tengo la oportunidad de escribir un gran proyecto de software en ellos, no tengo la experiencia necesaria.
Ahora, cuando intentaba aprender un lenguaje funcional, tenía muchas ganas de aprender Common Lisp. Parecía lo correcto. Comencé a leer Practical Common Lisp como punto de partida, ya que realmente no conocía las funciones integradas y necesitaba un proyecto para trabajar en Lisp. Las expresiones S eran hermosas y fáciles. Todos esos paréntesis fueron increíblemente hermosos para mí, ya que estaba claro como el día exactamente lo que estaba sucediendo en el código.
Así que trato de escribir mi primer programa en Lisp fuera del libro. Quería una herramienta de línea de comando que contara líneas de código y eliminara líneas triviales del recuento de códigos. No es la herramienta más útil, pero divertida de hacer. Implica el acceso a archivos, un poco de análisis y recuento. Había implementado la misma herramienta en Python aproximadamente una semana antes.
Necesito acceder a los argumentos de la línea de comandos. Entonces aprendo que no hay una forma estándar de obtener argumentos de línea de comandos. Todas son características no estándar. No es multiplataforma en absoluto. En su mayoría, empeora a partir de ahí, ya que el lenguaje no tiene muchas bibliotecas integradas. Terminé cambiando a Haskell y no llegué muy lejos en Common Lisp (por lo que mis quejas pueden no ser válidas).
Este tipo de cosas no estándar siempre ha sido un dolor para mí en el pasado. C ++ tiene este mismo problema, pero con bibliotecas como Boost puede sortear esas debilidades.
Tampoco ayuda que la sintaxis de Lisp para todo lo que no sea Expresiones S sea un poco fea.