Здравствуйте, IT, Вы писали:
IT>Здравствуйте, prVovik, Вы писали:
V>>После введения таких фич накроются медным тазом рефакторинг фичи их и не только их ИДЕ. имхо.
IT>Значит надо поситеть и подумать головой, чтобы не накрылись.
Ну вот, видимо, посидели и подумали
Просто сама идея автоматизированного рефакторинга не дружит с макросами и фокусами с АСТ, так как тут рафакторинг тулза помимо того, что должна уметь исполнять хитроумные и навороченные макросы (простые нам не нужны ), что само по себе не просто, но и заниматься реинжинирингом, что в общем случае сделать невозможно. То есть тут на карте либо автоматизированный рефакторинг, либо навороченные макросы. Выбрали, похоже, первое (имхо, правильно сделали). Все, конечно, ИМХО.
Здравствуйте, prVovik, Вы писали:
V>Ну вот, видимо, посидели и подумали
Добавлю. Как ты думаешь, почему у С++ компиляторов такие убогие сообщения об ошибках, когда дело касается шаблонов, даже несмотря на то, что шаблоны обладают весьма скудными возможностями по части метапрограммирования по сравнению со многими макросами? Да все потой же причине, по которой макросы не дружат с автоматизированным рефакторингом А именно с необходимостью реинжиниринга, чтобы можно было понять, "откуда ноги растут".
Здравствуйте, prVovik, Вы писали:
V>Просто сама идея автоматизированного рефакторинга не дружит с макросами и фокусами с АСТ, так как тут рафакторинг тулза помимо того, что должна уметь исполнять хитроумные и навороченные макросы (простые нам не нужны ), что само по себе не просто, но и заниматься реинжинирингом, что в общем случае сделать невозможно.
Почему реинжинирингом? Разве рефактореры занимаются реинжинирингом? Мне почему-то всегда казалось, что компиляцией на лету
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>Почему реинжинирингом? Разве рефактореры занимаются реинжинирингом? Мне почему-то всегда казалось, что компиляцией на лету
Это если код статичный. А если он начинает меняться в процессе компиляции, то потребуется искать, откуда в исходном коде растут ноги. Хотя, возможно, что я что-то путаю...
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, prVovik, Вы писали:
V>>Просто сама идея автоматизированного рефакторинга не дружит с макросами и фокусами с АСТ, так как тут рафакторинг тулза помимо того, что должна уметь исполнять хитроумные и навороченные макросы (простые нам не нужны ), что само по себе не просто, но и заниматься реинжинирингом, что в общем случае сделать невозможно.
IT>Почему реинжинирингом? Разве рефактореры занимаются реинжинирингом? Мне почему-то всегда казалось, что компиляцией на лету
Да и плюс к тому, упомянутая выше проблема с человеческими сообщениями об ошибках.
Здравствуйте, prVovik, Вы писали:
V>Да и плюс к тому, упомянутая выше проблема с человеческими сообщениями об ошибках.
В Немерле эта проблема решается. И вообще, если проблемы есть, то их надо решать, а не отмазываться беспокойством о трудности вхождения в команду. В конце концов DSL пока ещё никто не признал абсолютным злом, а некоторые считают их будущим человечества.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, prVovik, Вы писали:
V>>Да и плюс к тому, упомянутая выше проблема с человеческими сообщениями об ошибках.
IT>В Немерле эта проблема решается.
Здравствуйте, prVovik, Вы писали:
IT>>В Немерле эта проблема решается.
V>можно еще и про отладку шаблонов вспомнить
Проблем с отладкой дженериков тем не менее нет. Всё это решается.
Тебе же сказали, что технических проблем нет. А вот мы с тобой, Вовик, ещё не доросли до AST. Так что собирай свои буквари и тетрадки, enlarge your pencil, иди в школу и буть хорошим мальчиком.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>Проблем с отладкой дженериков тем не менее нет. Всё это решается.
А потому что, в дженериках нет никакой динамики, они статичны по сути. Для обработки дженериков не нужно выполнять никаких определенных пользователем алгоритмов. От обработчика дженериков требуется единственное — заранее знать о них, для чего они нужны, что делают и как работают. Я убежден, что автоматизированный рефакторинг возможен только для статичных языков: со статической типизацией, со статичным кодом и пр. Попытка реализовать автоматический рефакторинг для языка с развитой системой макросов — это почти тоже самое, что реализация системы рефакторинга для динамических скриптовых языков.
IT>Тебе же сказали, что технических проблем нет. А вот мы с тобой, Вовик, ещё не доросли до AST. Так что собирай свои буквари и тетрадки, enlarge your pencil, иди в школу и буть хорошим мальчиком.
Ну, отмазка, действительно, нелепая. В крайнем случае VB еще не отменили
V>Я убежден, что автоматизированный рефакторинг возможен только для статичных языков
Кстати, я думаю, что МС будет развивать шарп, добавляя в язык конкретные варианты использования макросов, как это было, например, с дженериками.
Здравствуйте, prVovik, Вы писали:
V>Я убежден, что автоматизированный рефакторинг возможен только для статичных языков: со статической типизацией, со статичным кодом и пр. Попытка реализовать автоматический рефакторинг для языка с развитой системой макросов — это почти тоже самое, что реализация системы рефакторинга для динамических скриптовых языков.
Значит надо думать как подружить рефакторинг и макросы. В конце концов уже давно всем понятно, что язык без качественной IDE сегодня не представляет практически никакой коммерческой ценности. Проблема разработки API способного интегрировать языки в IDE уже давно назрела.
IT>>Тебе же сказали, что технических проблем нет. А вот мы с тобой, Вовик, ещё не доросли до AST. Так что собирай свои буквари и тетрадки, enlarge your pencil, иди в школу и буть хорошим мальчиком. V>Ну, отмазка, действительно, нелепая. В крайнем случае VB еще не отменили
Она ещё более нелепа в свете того, что многие из нас начали свой путь с процедурного программирования. Т.е. ООП мы как-то смогли понять, что такое шаблоны как-то сообразили, на Windows перешли, COM, после 6 месяцев тумана в голове, тоже взяли, а вот DSL и метапрограммирование для нас это слишком сложно. Беспокоются они о нас Детский сад какой-то
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, AndrewVK, Вы писали:
AVK>1) 5 дней назад окончательно были выкачены спецификации на join в LINQ-запросе
Ничего не понятно.
AVK>2) По поводу недоступности анонимных типов вне контекста функции: проблема известна, но по поводу ее решения он ничего сказать не смог. Боюсь, в релизе linq все останется как есть сейчас.
Уроды.
AVK>3) По поводу миксинов: вещь однозначно полезная, но они пока не знают как это реализовать в C#. К релизу LINQ ничего сделать они точно не успеют. В дальнейшем вполне возможно.
Что там думаь то? Блин, дети из Польши давно все за них продумали. http://nemerle.org/Traits
AVK>4) По поводу возможности расширения компилятора (AST-макросы, etc): технических проблем нет,
Хм. Лучше бы он был осторожнее в высказываниях.
AVK> но они этого не делают, потому что это приведет к созданию кучи различных языков разными командами, и этот код будет несовместим, а порог вхождения в команду будет слишком высоким.
Песнь старая. Видимо по этому многие используют Эмит...
AVK>5) По поводу компилятора Expression Tree: он не сразу понял что я хочу. Когда понял, сказал что над этим вроде как никто не думал, так что стоит написать ему для чего это нужно. ИМХО лучше все же написать сразу на фидбек, но надо грамотно все оформить.
Странно. На п. 4 ответил бодро, а тут не понял. Думаю, он мог так же не верно понять идею макросов.
ЗЫ
Не спрашивал его отношение Немерлу? Они его вообще смотрели?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Ziaw, Вы писали:
Z>я правильно понял, что Expression Tree это как раз средство позволяющее Z>в том числе сохранять и загружать запросы? аналог ICriteria в (N)Hibernate?
Это скорее блеклый аналог квази-цитирования. Только не квази и только для лямбд (а-ка анонимные методы).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, prVovik, Вы писали:
V>Просто сама идея автоматизированного рефакторинга не дружит с макросами и фокусами с АСТ,
Метаатрибуты возможно, и то не все. А макросы-выражения точно в большинстве случаев будут прекрасно рефакториться. Они ведь просто изменяют имеющийся АСТ. А рефакторить нужно исходный.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.