Я пытаюсь познакомиться с разными типами языков, чтобы понять области, в которых каждый из них чрезвычайно хорош. До сих пор я изучал C - процедурный язык, C ++ и java - объектно-ориентированные языки со статической типизацией и groovy - объектно-ориентированный язык с динамической типизацией.
Каждый язык программирования, вероятно, был начат, чтобы удовлетворить потребность. И я предполагаю, что каждый язык чрезвычайно хорош по крайней мере в одной вещи, из-за которой он становится стандартом в определенной области или области. Как и C, C ++ стал стандартом в таких областях, как разработка браузеров или игр. Python в мире Linux за простоту написания сценариев, Java в корпоративном мире и т. Д.
Теперь мне интересно изучать функциональный язык программирования, такой как Clojure или Lisp. Итак, где функциональные языки программирования используются в реальных сценариях? Я не думаю, что можно было бы использовать Clojure или Lisp для разработки приложений или интерфейсов. Итак, каким проектам я должен заниматься после прохождения основных руководств и учебных ресурсов, чтобы получить краткое представление о реализации функционального программирования? И вы настоятельно рекомендуете на одном языке в частности, как, скажем, clojure?
источник
Ответы:
Вы говорите, что в реальном мире функциональное программирование, я думаю, Erlang.
http://www.erlang.org/
источник
В Стэнфордском университете есть отличная серия лекций по функциональному программированию. Вы можете проверить их на YouTube.
Я бы посоветовал вам изучить схему, а не LISP. Схема является модифицированной версией Лисп с дальнейшими улучшениями. Схема в основном используется для академических и учебных целей. Это отличный язык, если вы любите заниматься наукой о торических компьютерах.
Приложения :
В Google App Inventor для Android используется схема, где Kawa используется для компиляции кода схемы до байт-кодов для виртуальной машины Java, работающей на устройствах Android. Elk Scheme используется Synopsys в качестве языка сценариев для своих инструментов CAD (TCAD).
К вашему сведению: использование схемы
источник
Брайан О'Салливан, основатель mailrank.com (который был приобретен Facebook), построил всю серверную часть этого программного обеспечения в Haskell. Об этом он рассказал на Strange Loop 2011, видео и слайды доступны онлайн.
Тот же парень написал книгу под названием Real World Haskell . Несколько человек упомянули учебники по программированию. Это может быть вполне соответствует вашим интересам (мне также нравится предложение Эрланга).
источник
От друзей по финансам я знаю, что количественная торговая фирма Джейн Стрит использует OCaml для реализации своих торговых стратегий. У них есть страница, где они говорят о причинах, а также ссылки на разговоры на эту тему.
источник
Вот список историй успеха Common Lisp:
http://wiki.alu.org/Industry%20Application
http://www.franz.com/success/
http://www.lispworks.com/success-stories/index.html
Хотя Common Lisp является лишь частично функциональным (он также поддерживает ООП и процедурный, а также все, что вы хотите реализовать самостоятельно или с помощью библиотеки), это очень прагматичный язык и чрезвычайно мощный в руках компетентного программиста. Я на самом деле использую его для написания веб-приложений с отличной инфраструктурой RESTAS .
И коммерческий проект на Python, над которым я сейчас работаю, в конечном итоге будет дополнен сервисами, написанными на lisp (RESTAS, как следует из его названия, отлично подходит для сервисов RESTful).
источник
Я бы предложил погрузиться в компиляторы (как для языков общего назначения, так и для DSL) - именно здесь функциональное программирование является лучшим. Будет много интересных и полезных вещей для изучения, от ADT и сопоставления с образцами на одной стороне спектра до макросов Lisp на другой стороне.
источник
Возможно, вы захотите взглянуть на Юма .
Со страницы языка программирования Hume :
Со страницы Википедии Юм :
источник