?

Log in

No account? Create an account
dump -0f - /dev/mind
Я знаю Haskell, OCaml, GSM, эндофункторы и много других страшных слов
Несем опиум в народ :) 
20th-Apr-2007 09:15 am
Написал короткую статью про ФП для developers.org.ua. Читайте, ругайте :)
Comments 
20th-Apr-2007 01:45 pm (UTC)
Монады - это долгая песня в дюнах, поднимать эту тему здесь не стоит (скажу только, что их применение не гораничивается вводом-выводом). Если они являются серьезным препятствием, можно взглянуть на другие языки, в которых ввод-вывод не использует монады.
А что такого нечеловеческого в синтаксисе?
increment = (+1)
even x = x `div` 2 == 0

Напоследок, пара ссылок на решения админских задач на Haskell (вторая более практичная, но, к сожалению, без понимания монад там не разобраться):
http://haskell.org/haskellwiki/Simple_unix_tools
Practical Haskell: shell scripting with error handling and privilege separation
20th-Apr-2007 01:46 pm (UTC)
s/гораничивается/ограничивается/
20th-Apr-2007 06:23 pm (UTC)
Про неограничивается я знаю. Может где-то они и нужны и полезны. Но IO через них - это издевательство над моим маленьким мозгом. Из чисто функциональных и не использующих монады мне известен только Clean. Всем хорош, но несколько нестабилен и его создатели любят винду, а я нет.
Теперь про синтаксис. Примеров приводить не буду, но на мой взгляд синтаксис недружелюбный для новичка. Я посмотрев на код почти любой haskell программы с ходу не скажу что она делает. Про python вот скажу, там все просто и понятно, а про haskell - нет. Конечно можно сказать что все придет со временем, но для этого это время у меня должно быть.
24th-Apr-2007 07:45 pm (UTC)
Ну, удобство написания и удобство чтения - это tradeoff, как не печально. Плюс - tradeoff сугубо индивидуальный.

Просто для сравнения поделюсь своим опытом.

Мне, например, сложнее понять, что делает питоновский код (как вспомню поптыки разобраться в потрохах bittorrent по reference реализации на питоне без единого комментария - так вздрогну) потому, что его сложнее "препарировать" и пробовать на зуб мелкими частями. Плюс - типы не выводятся, и чтобы понять, что делает метод от 7 аргументов, приходится его вычитывать ... Бррр...
This page was loaded Nov 16th 2019, 11:44 pm GMT.