No tengo experiencia trabajando para una empresa real, pero sé por qué me ha costado usar LISP.
En primer lugar, esto me recuerda esta publicación del blog: enlace
El principal problema que tengo con Lisp es la pregunta "qué Lisp". Normalmente 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 facilitar mi vida 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 proyectos secundarios personales, pero como nunca tengo la oportunidad de escribir un proyecto de software grande en ellos, no tengo la experiencia necesaria.
Ahora, cuando intentaba aprender un lenguaje funcional, realmente quería aprender Common Lisp. Parecía lo correcto para hacer. Comencé a leer Practical Common Lisp como punto de partida, ya que realmente no conocía las funciones integradas y necesitaba un proyecto en el que trabajar en Lisp. Las expresiones en 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.
Entonces trato de escribir mi primer programa en Lisp fuera del libro. Quería una herramienta de línea de comandos que contara las líneas de código y eliminara las líneas triviales del conteo de códigos. No es la herramienta más útil, pero sí divertida. Implica acceso a archivos, un poco de análisis y conteo. Había implementado la misma herramienta en Python una semana antes.
Necesito acceder a los argumentos de la línea de comandos. Luego me entero de que no hay una forma estándar de obtener argumentos de línea de comando. Todas son características no estándar. No es multiplataforma en absoluto. En su mayoría, la situación 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 el mismo problema, pero con las bibliotecas como Boost puedes superar esas debilidades.
Tampoco ayuda que la sintaxis de Lisp para todo lo que no sean expresiones S sea un poco fea.