Здравствуйте, VladD2, Вы писали:
VD>У нас тут принято на "ты", если это не смущает, то предлагаю перейти на ты.
Что ты! Абсолютно не смущает. Просто я на RSDN ещё неделю назад был только в качестве читателя. Поэтому думал, что на "ты" тут общаются только как знакомые лично люди.
VD>Для этого нужно понять более общие задачи. Самой частой ошибкой, при разработке софта на Немерле, является попытка проектирвоать в стиле того языка который был знаком до этого (например, шарпа). Это, конечно, тоже можно, но не так эффективно по сравнению с проектированием с учетом всех возможностей языка.
Ну, да. Это довольно очевидный факт. Полагаю это из одного разряда с первым знакомством с SQL после императивного программирования (все проходили). Если же про ФП говорить, то и Odersky в Programming in Scala пишет то же самое про тех, кто приходит с багажом опыта программирования на Java: скала позволяет писать как на джаве, только зачем?..
VD>По сему имеет смысл взять исходную задачу и рассмотреть ее в самом абстрактном виде. Потом нужно прикинуть нельзя ли ее описать в виде какой-то высокоуровневой модели которую можно выразить в виде условного языка. Если это удастся, то весь скучный код можно будет просто сгенерировать по такой модели. Конечно, придется потратить время на написание генератора, но это как раз уже не скучно.
VD>Данный подход оправдан когда объем скучного кода большой. Причем чем больше может быть кода, тем более оправдан подход.
VD>Другой вариант изменение дизайна с ООП на ФП. Этот вариант оправдан когда речь идет о пакетной обработке данных. Когда есть входные данные и их нужно преобразовать в другой вид.
К сожалению, я слишком посредственный разработчик, чтобы иметь какие-то очень сложные задачи перед собой в личных проектах, где нельзя бы было применить "силу руки" при программировании. Да и на работе проекты тоже не из разряда 'cutting edge' — Nemerle нет смысла применять. Это правда совсем не значит, что мне не любопытно. Если будут возникать проекты с серьёзным back-end'ом, постараюсь убедить коллег всерьёз рассмотреть вариант разработки на Nemerle. Слава Богу, ребята у нас из категории падких на интересное, хотя и в разумных пределах.
VD> ...Макросы позволяют читать информацию о типах и генерировать по ней код. Причем информация о типах доступна не только для типов скомпилированных в сборки (как в случае использования рефексии), но и для кода определенного в проекте. Вот здесьАвтор: VladD2
Дата: 24.09.11
лежит статья в которой есть пример такого макроса.
Обязательно прочитаю статью, но не знаю точно когда. Совсем скоро моё время будут поедать курсы английского, так что с моими программерскими интересами вне работы мне придётся поубавить темп. В любом случае, понял для себя, что с Nemerle имеет смысл знакомиться ближе, так как писать на нём намного комфортнее и быстрее, чем на C#, не теряя в качестве. А если уметь, то, наверное, и можно даже лучше.
P.S. Ещё раз спасибо за ответ по исходному вопросу, не смотря на то, что я довольно сумбурно выразил его.