Здравствуйте, Klapaucius, Вы писали:
_>>Какое ещё метапрограммирование в C#? K>Убогое, как и все остальное в C#.
В C# версии 5+ вроде как должно появиться. Но здесь то текущая версия — где там конкретно обнаружилось метапрограммирование? )
K>Конечно не стоит. Ну в этом и дизайнерское решение заключается. В одних языках иммутабельность используется, но ничего для этого нет. В других языках используется — а что-то для этого есть. Если мы что-то используем, то поддержка для этого (оптимизации, снижающие издержки, например) — это плохой дизайн. Программист же должен закалять волю и разум, а не расслабляться. Вот если поддержки нет — решение удачное, жизнь медом не покажется.
Не, речь совсем не об этом. Поддержка — это обычно добавление каких-то возможностей. А в Хаскеле мы имеем скорее запрещение всего остального, кроме нашей парадигмы. Т.е. собственно говоря никто не мешал бы сделать язык со всеми возможностями Хаскеля и плюс нормальная поддержка других парадигм.
K>Да позиция понятна, все симпатичное для реального применения не годится по той же причине, по какой плац нужно подметать ломом.
К сожалению не годится. Вот я например не считаю тот же C++ идеалом (у меня к нему есть гора претензий) и с удовольствием заменил бы его на что-то лучшее, но не выходит по разным причинам. Ну в случае Хаскеля сам кривой дизайн языка не подходит. А вот например D (который является большим шагом вперёд в верном направление) не подходит из-за слабого развития инфраструктуры (собственно у Хаскеля есть и эта проблема, но там это уже не важно).