Ho iniziato seriamente a dare un'occhiata a Lisp questo fine settimana (con questo intendo che ho solo imparato Lisp e non sono tornato 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 ad imparare Lisp, ho iniziato a chiedermi perché i linguaggi non funzionali non supportino funzioni di prima classe. So che linguaggi come C # possono fare cose simili con i delegati e fino a un certo punto puoi usare i puntatori alle funzioni in C / C ++ ma c'è un motivo per cui questo non diventerebbe mai una caratteristica in quei linguaggi? C'è uno svantaggio nel rendere le funzioni di prima classe? Per me è estremamente utile, quindi mi sono perso il motivo per cui più lingue (al di fuori del paradigma funzionale) non lo implementano.
[Modifica] Apprezzo le risposte finora. Dato che mi è stato mostrato che molte lingue ora supportano ora funzioni di prima classe, ribadirò la domanda per essere perché ci vorrebbe così tanto tempo per implementarle? [/Modificare]