Первый функциональный язык пациента с амнезией? (мне очень нравится Clojure)

Недавно мне поставили диагноз каскадного диссоциативного расстройства, которое вызывает ретроградную амнезию в дополнение к существующему случаю возможной антероградной амнезии. Многие люди пытались напомнить мне, каким замечательным программистом я был раньше. Сейчас я понимаю концепции и идиомы, но я хочу научиться сам, независимо от того, знаю я это или нет. Я думаю, что смогу частично преодолеть проблемы с амнезией.

Мой вопрос к вам, stackoverflow, заключается в следующем: я недавно нашел Clojure, и его... приятно использовать, даже просто копируя примеры с любой веб-страницы, которую я могу найти. Моя цель в изучении функционального языка программирования состоит в том, чтобы создать простой веб-сервер, бот irc AI в некотором роде и систему базы данных, подобную Couchdb, и все это легковесно и специально для обучения. Какие недостатки есть у Clojure? Есть ли лучший язык функционального программирования, который можно использовать прямо сейчас для обучения / и / приложений?


person seven    schedule 12.11.2008    source источник
comment
Могу я спросить, выбираете ли вы конкретно функциональный язык из-за своего состояния? Есть ли у вас проблемы с кратковременной памятью? Я никогда раньше об этом не задумывался, но, возможно, отсутствие состояния и изменяемых объектов делает функциональное программирование хорошим языком для людей с нарушениями памяти. На каком-то уровне программист должен поддерживать отражение состояния системы в своей собственной памяти, чтобы писать все, кроме самого тривиального программного обеспечения ООП. Это несколько отрицается в функциональном программировании?   -  person Alex    schedule 08.09.2009
comment
Я уважаю вас как программиста и человека за вашу смелость и целеустремленность!   -  person Faisal Abid    schedule 02.01.2010


Ответы (5)


Я думаю, что Clojure — очень хороший язык. Если я должен указать на какой-либо недостаток, так это то, что он очень новый, и хотя язык кажется очень зрелым и готовым к работе, инструменты и фреймворки вокруг него не таковы. Поэтому, если вы собираетесь создать, например, веб-приложение, не ожидайте, что вы запустите три команды и получите страницу «Ваше первое веб-приложение запущено, теперь прочитайте эту документацию, чтобы создать свои модели» в вашем браузере.

Библиотек, написанных на Clojure, тоже пока не так много, но это не большая проблема, если учесть, что вы можете использовать почти все, что написано на Java.

person pupeno    schedule 13.11.2008

Haskell в настоящее время имеет большое количество подписчиков и растущую базу библиотеки и приложения. Он также используется для образования и исследований. Я считаю, что это очень хороший язык для использования.

person Erik Hesselink    schedule 12.11.2008

Haskell, Erlang и Clojure — хороший выбор. Лично я бы порекомендовал Clojure, возможно, вы сможете делать некоторые интересные вещи с базами данных с помощью системы Software Transational Memory, которая является частью Clojure.

person pjb3    schedule 30.11.2008

Вы указываете CouchDB в своем вопросе, и он написан на Erlang, который предназначен для быть довольно захватывающим языком, как только вы в него войдете.

person J.D. Fitz.Gerald    schedule 12.11.2008

У меня нет личного опыта работы с Clojure, но я очень рекомендую F#. Это достаточно мощный язык в стиле OCaml. Мне это очень нравится, потому что его средства отладки и IDE не имеют себе равных, и вы можете воспользоваться практически любой библиотекой на (огромной) платформе .NET.

person RCIX    schedule 02.01.2010