Интересное мнение про Haskell
Oct. 28th, 2011 06:34 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
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/интерпретаторов питонов/рубей, минимум зависимостей, отсутствие ручной работы с выделением-удалением памяти, нормальные строки, более-менее строгие типы.
http://www.reddit.com/r/programming/comments/lfm1k/why_not_haskell/
У меня на данный момент с хаскелем забавный мозговой тупик: не совсем понимаю, как писать идиоматический код.
Т.е. например, разговор с девайсом по RS232 я могу написать в лоб, со сплошным IO, могу оформить с кошерными iteratees (хотя от типов и там и в coroutines глаза кровоточат), по идее, если покопаться, можно придумать еще несколько способов "красиво, строго, надежно" оформить разговор по известному протоколу, но в итоге то, что подразумевает повторное использование и статические гарантии, выглядит как ад из типов, а то что понятно - выглядит точно так же, как эта самая программа написанная на другом языке, с точностью до синтаксиса )
Вообще, от софта хочется простого: кроссплатформенность(винда/линукс), никаких JRE/Mono/CLI/интерпретаторов питонов/рубей, минимум зависимостей, отсутствие ручной работы с выделением-удалением памяти, нормальные строки, более-менее строгие типы.
no subject
Date: 2011-10-28 05:55 pm (UTC)Ну-ну, удачи. Сборщик мусора без виртуальной машины? Посмотрите на ад реализаций этого в С++. А штоб еще и интроспекция была и строгая типизация и стандартная библиотека хорошая и с си через какой FFI интегрировалось для обратной совместимости и шоб кроссплатформено было... Вы наверное шутник. Если это простое в вашем понимании, то даже боюсь представить, что такое "сложное".
no subject
Date: 2011-10-28 06:46 pm (UTC)И в хаскеле FFI есть и кроссплатформенность и IO с кошерным epoll (до сих пор не могу раскопать, как менеджер IO в GHC на windows устроен).
Забавно то, что в нагрузку хаскель тащит ленивость, чистоту и соответственно IO и прочие монады-трансформеры во все поля.
no subject
Date: 2011-10-28 07:42 pm (UTC)no subject
Date: 2011-10-28 07:44 pm (UTC)no subject
Date: 2011-10-28 08:33 pm (UTC)no subject
Date: 2011-10-28 10:18 pm (UTC)Да легко! Тот же D например.
Ну ещё в качестве примера можно Excelsion JET привести. Java компилируется в нативный код. Сборщик мусора присутствует. Виртуальная машина висит сбоку, но работает только когда динамически подгружаются классы.
no subject
Date: 2011-10-29 03:38 pm (UTC)Кстати да, стоит обратить внимание. (сам не пробовал еще правда)