Я начал серьезно смотреть на Lisp в эти выходные (я имею в виду, что изучал только Lisp и не возвращаюсь к проектам на C #) и должен сказать, что мне это нравится. Я баловался с другими функциональными языками (F #, Haskell, Erlang), но не чувствовал ничьей, которую дал мне Лисп.
Теперь, когда я продолжаю изучать Lisp, я начал задаваться вопросом, почему нефункциональные языки не поддерживают первоклассные функции. Я знаю, что языки, такие как C #, могут делать аналогичные вещи с делегатами, и в какой-то степени вы можете использовать указатели на функции в C / C ++, но есть ли причина, по которой это никогда не станет функцией в этих языках? Есть ли недостаток в создании функций первого класса? Для меня это чрезвычайно полезно, поэтому я заблудился, почему больше языков (за пределами функциональной парадигмы) не реализуют его.
[Редактировать] Я ценю ответы до сих пор. Поскольку мне было показано, что многие языки теперь поддерживают первоклассные функции, я перефразирую вопрос: почему языкам потребуется так много времени для их реализации? [/Редактировать]