metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-10-28 06:34 pm

Интересное мнение про Haskell

http://neugierig.org/software/blog/2011/10/why-not-haskell.html
http://www.reddit.com/r/programming/comments/lfm1k/why_not_haskell/

У меня на данный момент с хаскелем забавный мозговой тупик: не совсем понимаю, как писать идиоматический код.

Т.е. например, разговор с девайсом по RS232 я могу написать в лоб, со сплошным IO, могу оформить с кошерными iteratees (хотя от типов и там и в coroutines глаза кровоточат), по идее, если покопаться, можно придумать еще несколько способов "красиво, строго, надежно" оформить разговор по известному протоколу, но в итоге то, что подразумевает повторное использование и статические гарантии, выглядит как ад из типов, а то что понятно - выглядит точно так же, как эта самая программа написанная на другом языке, с точностью до синтаксиса )

Вообще, от софта хочется простого: кроссплатформенность(винда/линукс), никаких JRE/Mono/CLI/интерпретаторов питонов/рубей, минимум зависимостей, отсутствие ручной работы с выделением-удалением памяти, нормальные строки, более-менее строгие типы.

[identity profile] vaddimka.livejournal.com 2011-10-28 07:12 pm (UTC)(link)
objective-c хорош для макоебских гуев, у нас просто локально на них зачем-то серверную часть товарищи пишут. и их много. это меня пугает.

[identity profile] theiced.livejournal.com 2011-10-28 07:20 pm (UTC)(link)
обжцэ плох абсолютно для всего (как и цэскрестикми). тот же хаскель вполне себе хорошо для мелких задачек класса дёрнуть-страничку-попарсить-насрать-в-базу.

[identity profile] avnik.livejournal.com 2011-10-28 11:17 pm (UTC)(link)
А как хацкель-для-уеба будет под нагрузкой жить? Ну хотя бы под минимальной?

Если уж хочется чего-то правильного -- тогда ерлангъ

PS Кстати может и правда, давайте ребе метаклассу еролангъ присоветуем

[identity profile] metaclass.livejournal.com 2011-10-29 07:37 am (UTC)(link)
Хаскель для веба нормально, говорят.

[identity profile] kurilka.livejournal.com 2011-10-29 08:00 am (UTC)(link)
http://www.yesodweb.com/blog/2011/02/warp-speed-ahead например есть такие левые цифры или лучше http://www.yesodweb.com/blog/2011/03/preliminary-warp-cross-language-benchmarks
Есть подозрение (хотя лучше бы сделать бенчмарки), что Эрланговые решения окажутся на этих графиках не впереди планеты всей, тем более если отдаваться будет что-нибудь сложнее hello world.
BTW сейчас пытаюсь изобразить для нового проекта решение на Warp/Yesod, правда оно не совсем "традиционный" веб (на что в основном Yesod рассчитан), а REST/XML бэкэнд.

[identity profile] avnik.livejournal.com 2011-10-29 08:06 am (UTC)(link)
Ну насколько я знаю, ерланг хорош в случаях, когда нельзя терять коннекты.
Оно будет их хоть и медленно, жевать тысячами

[identity profile] kurilka.livejournal.com 2011-10-29 08:11 am (UTC)(link)
В Хаскеле тоже лёгкая многозадачность, thesz даже хвастался, что стек на поток меньше чем в эрланге.
Другое дело, что в Эрланге инфраструктура для обеспечения этой многозадачности шире и проработанней (ибо осн. задача).
А так и ежу понятно, что инструмент надо подбирать под задачу.

[identity profile] avnik.livejournal.com 2011-10-29 08:13 am (UTC)(link)
Тут дело даже не в процессах, а в памяти -- хацкель ее любит, и насколько я знаю в слабопрогнозируемых объемах.

[identity profile] kurilka.livejournal.com 2011-10-29 08:27 am (UTC)(link)
Ну это слишком абстрактное заявление, чтоб его достаточно конструктивно рассматривать, но семантика строгого Эрланга заметно проще, да.