Помогите выбрать язык ФП. (Хаскелл или Эрланг?)
Модератор: Модераторы разделов
-
- Сообщения: 501
- ОС: Debian Wheezy / Gentoo
Помогите выбрать язык ФП.
Решил начать изучать ФП (функциональное программирование), пытаюсь определится с языком. Хотелось бы узнать мнение бывалых: какие плюсы и минусы по отношению друг к другу у языков Haskell и Erlang и для каких целей что лучше использовать? Заранее спасибо.
-
- Сообщения: 39
- ОС: >_<
Re: Помогите выбрать язык ФП.
Haskell -- чистый ФП-язык, его и бери, раз хочешь ФП изучать.
Erlang все-таки больше на многопоточные и многопроцессорные вычисления, так что ФП там вроде и не так чтобы основа, в *ML больше ФП, например можешь взять O'Caml.
ну и все-таки тут важен не столько язык, сколько теоретические основы, так что литературу в руки и вперед.
P.S. если это все покажется сложноватым, то можно начать с (не совсем про ФП, но в том числе и про него) SICP и Scheme
Erlang все-таки больше на многопоточные и многопроцессорные вычисления, так что ФП там вроде и не так чтобы основа, в *ML больше ФП, например можешь взять O'Caml.
ну и все-таки тут важен не столько язык, сколько теоретические основы, так что литературу в руки и вперед.
P.S. если это все покажется сложноватым, то можно начать с (не совсем про ФП, но в том числе и про него) SICP и Scheme
(© '(define LISP (такой язык-программирования (состоящий-из смайликов (чуть более) (чем целиком)))) lurkmore)
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Помогите выбрать язык ФП.
Тема не менее 'животрепещущая', чем, скажем, 'выбор ЯП вообще'. См. также http://fprog.ru , в частности, http://fprog.ru/2009/issue3/eugene-kirpich...onal-languages/ и список литературы оттуда.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 501
- ОС: Debian Wheezy / Gentoo
Re: Помогите выбрать язык ФП.
А насколько часто приходится писать приложения (in real life), которые за счет поддержки многопоточности могут получить реальные выгоды (типа ускорения, роста стабильности, etc)?
Просто не совсем понятна целевая ниша языка
Уже вкуриваю потихоньку в лямбда-счисления...
Portnov писал(а): ↑19.01.2010 13:37Тема не менее 'животрепещущая', чем, скажем, 'выбор ЯП вообще'. См. также http://fprog.ru , в частности, http://fprog.ru/2009/issue3/eugene-kirpich...onal-languages/ и список литературы оттуда.
FProg читаю потихоньку, но определиться с выбором пока не выходит.
Потому и задал вопрос.
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Помогите выбрать язык ФП.
Это, прежде всего, зависит от того, какие приложения вы пишете вообще. Скажем, всякие веб- и прочие подобные сервисы явно выигрывают от многопоточности. Многие вычислительные алгоритмы хорошо "параллелятся".
Это язык общего назначения. На некоторых задачах (скажем, создание компиляторов, всяких DSL и EDSL итп) он даёт больше преимуществ над языками более низкого уровня, чем на других.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 501
- ОС: Debian Wheezy / Gentoo
Re: Помогите выбрать язык ФП.
Т.е. при создании приложений "Клиент-Сервер" сервер выигрывает от использования Эрланга?
В качестве языка общего назначения Си учу. Очень нравится, пока не собираюсь ему изменять))
-
- Сообщения: 1095
- Статус: -
- ОС: GNU/Linux
Re: Помогите выбрать язык ФП.
измените ему с Си++Си
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Помогите выбрать язык ФП.
Yaros
http://vshabanov-ru.blogspot.com/2008/07/blog-post.html
Nymin
Из ссылки выше, например:
http://vshabanov-ru.blogspot.com/2008/07/blog-post.html
Nymin
Из ссылки выше, например:
Касательно C++, утверждаю что для ЛЮБОЙ задачи ВСЕГДА найдётся лучшее средство для её решения нежели C++. Неоправдано писать на C++ даже если уже есть огромная наработанная кодабаза на нём, которую нужно использовать.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 1095
- Статус: -
- ОС: GNU/Linux
Re: Помогите выбрать язык ФП.
например Моно и Джава, да?
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Помогите выбрать язык ФП.
В каких-то случаях - да. Во всех остальных - что-нибудь более высокоуровневое, тот же Haskell :)
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 501
- ОС: Debian Wheezy / Gentoo
Re: Помогите выбрать язык ФП.
Это к тому, что хаскель предпочтительнее? =)
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Помогите выбрать язык ФП.
Имхо - да. Понятно, что вы услышите и другие мнения. Но ситуация примерно следующая. Программирование / computer science развивается в общих чертах подобно другим наукам. Подобно математике, скажем. Есть совсем прикладная математика - сдачу в магазине посчитать. Есть чуть более абстрактная - типа, посчитать площадь фигуры с помощью интеграла. Есть при этом и "фундаментальная математика", передний край науки. При этом мир развивается таким образом, что идеи из фундаментальной математики постепенно (медленно, да) становятся всё более жизненными (ну, например, теория машины Тьюринга, теория сложности алгоритмов - появились до компьютеров). С программированием аналогично. Есть совсем прикладное программирование, называемое в простонародье быдлокодингом. Есть более "продвинутое". Есть передний край computer science. И направление развития такое же: идеи с нынешнего переднего края когда-нибудь будут уделом быдлокодеров. Известно, что разные ЯП тоже можно располагать на шкале "клепание формочек ---> передний край CS". У левого края всякие Delphi и VBA, у правого - Agda2, Epigram итд. Haskell замечателен тем, что расположен ближе к "переднему краю", но достаточно далеко от него, чтобы иметь практические применения (на всяких Epigram, афаик, дальше докторских диссертаций пока не продвинулось дело). И при этом идеи, которые сейчас в хаскеле передовые, скоро будут в "быдлокодерских" языках (а некоторые уже есть).
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 501
- ОС: Debian Wheezy / Gentoo
Re: Помогите выбрать язык ФП.
Хорошо, попробую Хаскель.
Вот что удалось накопать из доков на русском (увы, очень плохо знаю инглиш):
http://www.haskell.ru/
http://www.roman-dushkin.narod.ru/fp.html
http://www.rsdn.ru/article/haskell/haskell_part1.xml
Есть ли еще какая-либо русскоязычная документация, на которую стоитт обратить внимание?
Вот что удалось накопать из доков на русском (увы, очень плохо знаю инглиш):
http://www.haskell.ru/
http://www.roman-dushkin.narod.ru/fp.html
http://www.rsdn.ru/article/haskell/haskell_part1.xml
Есть ли еще какая-либо русскоязычная документация, на которую стоитт обратить внимание?
-
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Помогите выбрать язык ФП.
а с английским совсем никак? Есть ИМХО хорошая для новичков книга: http://book.realworldhaskell.org/read/, но на русский ее вроде не переводили, написана достаточно простым английским.
-
- Сообщения: 1341
- ОС: Arch Linux amd64
Re: Помогите выбрать язык ФП.
Это вы зря - больше всего документации именно на английском.
P.S. лично мне очень понравилась книжка Haskell - The Craft of Functional Programming, авторов, к сожалению, не помню.