Ho iniziato seriamente a dare un'occhiata a Lisp questo fine settimana (con il quale intendo che ho solo imparato il Lisp e non tornare ai progetti in C #) e devo dire che lo adoro. Mi sono dilettato con altri linguaggi funzionali (F #, Haskell, Erlang) ma non ho sentito il sorteggio che Lisp mi ha dato.
Ora, mentre continuo a imparare Lisp, ho iniziato a chiedermi perché i linguaggi non funzionali non supportano funzioni di prima classe. So che linguaggi come C # possono fare cose simili con i delegati e in una certa misura puoi usare i puntatori alle funzioni in C / C ++ ma c'è un motivo per cui questo non sarebbe mai diventato una funzionalità in quelle lingue? C'è un inconveniente nel rendere le funzioni di prima classe? Per me è estremamente utile, quindi sono perso dal motivo per cui più lingue (al di fuori del paradigma funzionale) non la implementano.
[Modifica] Apprezzo le risposte finora. Dato che mi è stato dimostrato che molte lingue ora supportano funzioni di prima classe ora, riformulerò la domanda perché ci vorrebbe tanto tempo prima che le lingue le implementino? [/ Modifica]