Non ho esperienza di lavoro in un'azienda reale, ma so perché LISP è stato difficile da usare per me.
Prima di tutto, questo mi ricorda questo post sul blog: http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html
Il problema principale che ho con Lisp è la domanda "che Lisp". Di solito lavoro su Linux come piattaforma principale, ma le cose che faccio devono essere compatibili con Windows. Ciò significa che quando sto valutando una tecnologia da utilizzare, deve semplificarmi la vita quando lavoro su due sistemi operativi radicalmente diversi. Non mi piace questo requisito, ma usarlo su un vero progetto è un requisito. Ora userò lingue che non hanno un ottimo supporto su Windows per i miei progetti secondari personali, ma poiché non ho mai la possibilità di scrivere un grande progetto software in loro, non ho l'esperienza necessaria.
Ora, quando stavo cercando di imparare un linguaggio funzionale, volevo davvero imparare Common Lisp. Sembrava la cosa giusta da fare. Ho iniziato a leggere Practical Common Lisp come punto di partenza poiché non conoscevo le funzioni integrate e avevo bisogno di un progetto su cui lavorare in Lisp. Le espressioni S erano belle e facili. Tutte quelle parentesi sono state incredibilmente belle per me, dato che era chiaro esattamente cosa stava succedendo nel codice.
Quindi provo a scrivere il mio primo programma in Lisp al di fuori del libro. Volevo uno strumento da riga di comando che contasse le righe di codice e rimuovesse le righe banali dal conteggio del codice. Non lo strumento più utile, ma divertente da fare. Implica l'accesso ai file, un po 'di analisi e il conteggio. Avevo implementato lo stesso strumento in Python circa una settimana prima.
Devo accedere agli argomenti della riga di comando. Quindi ho imparato che non esiste un modo standard per ottenere argomenti da riga di comando. Sono tutte caratteristiche non standard. Non è affatto multipiattaforma. Per lo più peggiora da lì in quanto il linguaggio non ha molte librerie integrate. Ho finito per passare a Haskell e non sono andato molto lontano in Common Lisp (quindi le mie lamentele potrebbero non essere nemmeno valide).
Questo tipo di cose non standard è sempre stato un dolore per me in passato. Il C ++ ha lo stesso problema, ma con librerie come Boost puoi ovviare a questi punti deboli.
Inoltre, non aiuta che la sintassi di Lisp per tutto tranne che per le espressioni S sia un po 'brutta.