Comencé a mirar seriamente a Lisp este fin de semana (con lo que quiero decir que solo he estado aprendiendo Lisp y no volviendo a los proyectos en C #) y debo decir que me encanta. He incursionado en otros lenguajes funcionales (F #, Haskell, Erlang) pero no he sentido el atractivo que me ha dado Lisp.
Ahora, mientras continúo aprendiendo Lisp, comencé a preguntarme por qué los lenguajes no funcionales no admiten funciones de primera clase. Sé que lenguajes como C # pueden hacer cosas similares con los delegados y, en cierta medida, puede usar punteros para funciones en C / C ++, pero ¿hay alguna razón por la que esto nunca se convierta en una característica en esos idiomas? ¿Hay algún inconveniente en hacer que las funciones sean de primera clase? Para mí, es extremadamente útil, así que estoy perdido en cuanto a por qué más lenguajes (fuera del paradigma funcional) no lo implementan.
[Editar] Agradezco las respuestas hasta ahora. Como se me ha demostrado que muchos idiomas ahora admiten funciones de primera clase, volveré a formular la pregunta de por qué los idiomas tardarían tanto en implementarlos. [/Editar]