Здравствуйте, BulatZiganshin, Вы писали:
<...поскипано...>
BZ>ну и наконец — на хаскел с его строжайшей типизацией, развитой системой типов и лёгкостью описания сложных алгоритмов. то есть nemn и надёжность (которую со временем начинаешь ценить всё больше), и выразительность
<...поскипано...>
BZ>а теперь посмотрите как записывается многопоточная программа на хаскеле:
BZ>BZ>-- Thread, который в цикле читает команды из потока и исполняет их
BZ>graphThread c = do cmd <- getChan c
BZ> cmd
BZ> graphThread c
BZ>-- Создаёт graphThread и посылает ему команды на исполнение
BZ>main = do с <- newChan
BZ> forkOS $ graphThread c
BZ> putChan c (print "Hi")
BZ> tid <- forkOS $ putChan c (print "Hi from other thread")
BZ> putChan c (print "Bye")
BZ> waitThread tid
BZ>
BZ>а теперь скажите, что легче — написать рекурсивную программу на фортране, или многопоточную, с автоматичсекой синхронизацией и разделением ресурсов — на хаскеле?
и стоит ли хаскелловскому порграммисту указывать умение писать такие порграммы как отдельный скилл?
<...поскипано...>
Вы меня, конечно, извините, но в ваших словах мне так и слышится бравада: "Я освоил Хаскел! Я проперся от него! Я познал неведомое доселе!". И вспоминается мне один очень талантливый мужик, фанат Пролога, который несколько лет назад написал на Прологе офигенную систему. В которой никто не мог разобраться кроме него. Более того, когда однажды потребовалось выяснить причину ее странного поведения в какой-то ситуации, на вопрос "А как она вообще работает" он ответил -- "А хрен его знает". И закончилось все, как и можно было ожидать, тем, что после его ухода все творение было в довольно короткий срок переписано на C++ парой вчерашних студентов. И работало затем несколько лет без нареканий. Причем те студенты сейчас ведут еще более серьезные проекты и слова Хаскел, я думаю, даже не слышали.
И так бывает, однако.