Мне стыдно у вас такое спрашивать... но я всё равно спрошу.
Зачем нужна кодогенерация?
Разве это не автоматизированный копи-пейст?
Ну, исключая случаи, выходящие за пределы возможностей инструмента: там, сериализация в C++ или сгенерировать Data Object по XML-ю.
И просьбочка: если видите что-то полезное в моём аглицком блоге про .NET, немного Java, WiX, OOP, OOD и немного всё остальное - поставьте на него ссылку, пожалуйста.
Зачем нужна кодогенерация?
Разве это не автоматизированный копи-пейст?
Ну, исключая случаи, выходящие за пределы возможностей инструмента: там, сериализация в C++ или сгенерировать Data Object по XML-ю.
И просьбочка: если видите что-то полезное в моём аглицком блоге про .NET, немного Java, WiX, OOP, OOD и немного всё остальное - поставьте на него ссылку, пожалуйста.
Tags:
(no subject)
13/3/08 05:54 (UTC)Самый распростринённый вариант кодогенерации, ИМХО, макросы Коммон Лиспа (в Схеме есть свои макросы). Там они используются не только для копи-паста, хотя и для него тоже, может даже чаще для него (по сути). На эту тему есть статья "The Art of Metaprogramming". Довольно интересная.
Это не считая использования кодогенерации для всяческой оптимизации.
Кстати, где ссылку ставить?
(no subject)
13/3/08 05:55 (UTC)(no subject)
13/3/08 10:10 (UTC)С лиспом я практически не знаком, увы мне. То есть, дальше первой половины букваря я не ушел и макросов не видел. А <до user="aleksijb"/>, которого я глубоко уважаю, говорит, что макросы - это главная фича Лиспа.
Статью почитаю, спасибо.
Оптимизация - это да, но это отдельный разговор и там тоже можно потыкать пальцем в "дыру".
А ссылку где угодно, в своём ЖЖ, например. Желательно SEO-шную, с контекстом внутри, типа <a href="http://victorsergienko.com">тут про .NET, WPF, и программирование вообще</a>
(no subject)
14/3/08 04:02 (UTC)В Лиспе главная фича - то, что списком является ВСЁ, и это всё можно модифицировать в рантайме. Правда, не знаю, использует ли эту возможность эоть кто-то в рабочем коде :). Ну, макросы примерно тем же и занимаются...
Вообще, если поискать по википедии, можно найти немало любопытного про кодогенерацию. Например то, что макросы и прочие code snippets во всяких IDE - это тоже кодогенерация. Я эту ммысль вчера недодумал. Хотя, ты наверняка скажешь, что это тот самый копи-паст. На это могу ответить: "включи воображение!" ;).
Ссылку в ЖЖ повесил - заходи посмотри. :)
(no subject)
14/3/08 10:00 (UTC)Я сейчас, правда, никого не читаю - некогда.
Да, и это - кодогенерация, и я ими не пользуюсь. Воображение пока в отключке, скажи явно, для танкистов, пожалуйста %)
"Дыра" - это отсутствие возможности. Так в С++ нет RTTI :]
(no subject)
18/3/08 03:31 (UTC)Несколько хороших практичных примеров кодогенерации есть в "Практике программирования" Кернигана и Томпсона.
Что-то я не представляю, каким образом кодогенерацией можно заменить RTTI. Шаблоны, что ли? Я всегда считал, что их смысл несколько в другом, а вообще-то это тоже хороший пример кодогенерации. Если в Java generics сделаны принципиально по-другому, то это зря :).