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/интерпретаторов питонов/рубей, минимум зависимостей, отсутствие ручной работы с выделением-удалением памяти, нормальные строки, более-менее строгие типы.

(Anonymous) 2011-10-28 05:55 pm (UTC)(link)
Я джва года жду такой язык. Суть такова: вообще, от софта хочется простого: кроссплатформенность(винда/линукс), никаких JRE/Mono/CLI/интерпретаторов питонов/рубей, минимум зависимостей, отсутствие ручной работы с выделением-удалением памяти, нормальные строки, более-менее строгие типы.... домики набигают эльфы и шоб графика как в крузисе.

Ну-ну, удачи. Сборщик мусора без виртуальной машины? Посмотрите на ад реализаций этого в С++. А штоб еще и интроспекция была и строгая типизация и стандартная библиотека хорошая и с си через какой FFI интегрировалось для обратной совместимости и шоб кроссплатформено было... Вы наверное шутник. Если это простое в вашем понимании, то даже боюсь представить, что такое "сложное".

[identity profile] metaclass.livejournal.com 2011-10-28 06:46 pm (UTC)(link)
Ну, в хаскелях-окамлах никаких виртуальных машин и сборщик мусора есть.
И в хаскеле FFI есть и кроссплатформенность и IO с кошерным epoll (до сих пор не могу раскопать, как менеджер IO в GHC на windows устроен).

Забавно то, что в нагрузку хаскель тащит ленивость, чистоту и соответственно IO и прочие монады-трансформеры во все поля.

[identity profile] permea-kra.livejournal.com 2011-10-28 07:42 pm (UTC)(link)
В хаскеле очень даже есть виртуальная машина. То, что код для неё вкомпилирован в бинарник, сути дела не меняет =).

[identity profile] gds.livejournal.com 2011-10-28 07:44 pm (UTC)(link)
сокращу до минимума: "посмотрите на ад C++". Там что ни копнёшь -- везде сотона и ональные черти, и всё это очень таки сложно.

[identity profile] nicka-startcev.livejournal.com 2011-10-28 08:33 pm (UTC)(link)
так язык-то шизоидный. Хотели иметь сразу все концепции - получите голоса в голове и раздвоение личности, причем, наполовину совместимое с си.

[identity profile] esil0x.livejournal.com 2011-10-28 10:18 pm (UTC)(link)
> Ну-ну, удачи. Сборщик мусора без виртуальной машины?
Да легко! Тот же D например.
Ну ещё в качестве примера можно Excelsion JET привести. Java компилируется в нативный код. Сборщик мусора присутствует. Виртуальная машина висит сбоку, но работает только когда динамически подгружаются классы.

[identity profile] thedeemon.livejournal.com 2011-10-29 03:38 pm (UTC)(link)
>Тот же D например.

Кстати да, стоит обратить внимание. (сам не пробовал еще правда)