Re[37]: Есть ли вещи, которые вы прницпиально не понимаете...
От: alex_public  
Дата: 11.02.14 22:18
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Нет, не реализуются. Без метапрограммирования никаких шаблонов проектирования в коде нет — только результат их применения в голове программиста. Поэтому к уровню кода они никакого значения не имеют.


Т.е. например в C# или Java шаблонов проектирования не существует? )))

K>Из функций, категорий, моноидов, функторов, монад и т.д.


Это можно сказать про любое приложение в функциональном стиле. А я спрашивал про конкретное.

K>Ну конечно, если брать какую-нибудь убогую библиотеку, да еще и специально писать ужасы — тогда конечно.


Т.е. стандартная библиотека Хаскеля убогая? ) Понятно... )))

А какая у нас нормальная? )

K>Вот как выглядит нормальный код, использующий нормальную библиотеку:

K>...

Практически тоже самое, только убрали описание типов в функциях.

K>Нет, прямой аналог этого кода на C++ написать нельзя, потому что системы контроля эффектов в нем нет.


Ооооо, снова наша таинственная польза от системы контроля эффектов. Которая много раз заявлялась, но ни разу не демонстрировалась... Нуну)))

K>Я вроде бы сразу признал, что преобразование между "нелифтнутым" и "лифтнутым" кодом требует значительной модификации кода. Речь-то была о сравнении "лифтнутого" и кода на обычном императивном языке.


Уже хорошо.

K>Конечно он стал страшнее, по сравнению с "наивной" версией. Но не страшнее плюсовой, синтаксический мусор в которой существует вовсе без всякого смысла и оправдания.


О да, о да. Только в C++ версии нет ни единого оператора/вызова функции не по делу. А в Haskell версии (даже с помощью "нормальной" библиотеки), которая вроде как должна быть вообще без мусора, мы имеем "всего лишь" fmap, V.unsafeFreeze, V.thaw, которые вообще непонятно чем заняты по отношению к прямой функциональности нашего кода. И это если забыть про вынужденно кривой код модификации самого массива.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.