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

_>>Интересно, тогда что это у нас, например здесь http://ru.wikipedia.org/wiki/Singleton#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80_.D0.BD.D0.B0_C.23?)


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


K>В приведенном вами примере по ссылке метапрограммирование используется, так о чем мы все-таки говорим?


Какое ещё метапрограммирование в C#?

K>В данном случае разговор о том, что аналог написать нельзя — только и всего.


Ну да, конечно. Аналог написать нельзя, потому что в других языках нет контроля эффектов. А какая польза у нас тут от контроля эффектов? ) Никакой, но всё равно аналог написать нельзя. Угу.

K>Неудачность дизайна вовсе ниоткуда не следует. Вы ее вводите исключительно потому, что в плюсах дизайн совсем другой, ну и для оправдания монадофобии. Иммутабельность как прием вполне полезна и рекомендуется даже в языках, где вовсе никак не поддерживается (т.е. с дизайном "удачным" по вашему, иммутабельность не поощряющем). В хаскеле она поддерживается, в том числе имеются и обсуждаемые средства уменьшения издержек.


Не стоит путать факультативную иммутабельность (есть почти во всех языках) и обязательную (типа как в Хаскеле). Так же как не стоит путать факультативную чистоту (как в D) и обязательную (как в Хаскеле). Я весьма интенсивно использую первое во всех языках, если оно доступно. А вот обязательный вариант мне кажется бредовым и только мешающим. Точнее я вполне могу допустить вариант когда мы будем писать не const у иммутабельных, а наборот mutable у мутабельных (а остальные будут по дефолту иммутабельными) — тоже вполне себе вариант. Но в Хаскеле то даже такого нет.

K>синтаксические затраты на лифтинг безусловно есть, я их не отрицаю, я утверждаю, что они компенсируются синтаксической легковесностью остального. Т.е. применений и определений функций, лямбд, сечениями, паттерн мэтчингом и т.д.


Ну так я нигде и не возражал тому, что классический (вне монад) Хаскель является вполне симпатичным языком. Только вот он как бы не для реального применения такой... )))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.