Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Константин Л., Вы писали:
КЛ>>1. новые фичи осваиваются неохотно
AVK>Скажем так, это стоит дополнительных денег.
стоп. мне казалось, что ты имел ввиду косность мышления и тп. Какие нужны средства, чтобы сотрудники начали писать декларативный код с пом. линка, вместо циклов и массивов?
КЛ>>2. для пром. девелопмента лучше следовать стандартам, вольности неоправданы
AVK>Не очень понятно, если честно. При чем тут вольности? Выглядит как какая то эмпирика, а не истинная причина.
Вольности, это клепать фреймворки и dsl-и на каждый чих
КЛ>>соглашусь частично только со 2м, тк если отталкиваться от п.1, то прогресс нафиг не нужен.
AVK>Почему не нужен? Не нужен глобальный прогресс в рамках конкретного прикладного решения, особенно если это решение не значительных размеров, не более того.
при чем тут мп от немерле?
КЛ>>макросы действительно хорошая штука, чтобы превратить код в кошмар. но я видел, как это делали используя обычные языки через жопу.
AVK>Я ничего нигде не говорил о возможности превращения кода в жопу, это все очень субъективно. Дело не в этом.
при том, что они дают возможность отойти от стандартов. за это, в первую очередь, его и ругают. этого ты и не одобряешь, имхо
AVK>>>Короче, идеология, применяемая в MPS, DSL Tools, Oslo для этой задачи представляется мне более подходящей.
КЛ>>пожалуй, но у немерле есть 2 преимущества: отсутствие интеропа
AVK>Ммм, а где в вышеприведенных технологиях интероп?
ок, гарантированное отсутствие интеропа. этими тулами dsl не заканчиваются, правда?
КЛ>>, и компиляция, а не интерпретация, чем занимается большинство dsl (разве нет?).
AVK>Бывает ну очень по разному, и компиляция, и интерпретация, и вообще отсутствие выполнения в традиционном смысле. Тут надо понимать, что понятие DSL может быть очень широким, не обязательно это императивный универсальный язык. DSL Tools, к примеру, создает графические декларативные DSL (в качестве примера — редакторы Linq2SQL и EF объектов, редакторы UML в VS2010).
AVK>Если же наш DSL это универсальный текстовый язык описания алгоритмов с широким спектром возможностей, просто подрихтованый для специфических задач, то да, Nemerle-подобные технологии в подобном разрезе вполне интересны.
КЛ>>а что делать, если генерировать код нужно для имеющихся типов, дополняя их?
AVK>В случае C# есть partial types и partial methods. Визарды не предназначены для повторных вызовов, если такое требуется, то это уже п.1.
какие у partial types есть инструменты для анализа окружения? В немерле для этого есть почти все.
КЛ>>не знаком с DSL Tools, так что тут промолчу
AVK>Да дело то не в DSL Tools, а в создании генераторов сложных алгоритмов по простому описанию — генераторы моделей, парсеров и т.п.
а тему все-таки надо было назвать "что меня не устраивает в МП в Nemerle для пром. разработки"