codegen?

12/3/08 13:52
singalen: (Default)
[personal profile] singalen
Мне стыдно у вас такое спрашивать... но я всё равно спрошу.

Зачем нужна кодогенерация?
Разве это не автоматизированный копи-пейст?
Ну, исключая случаи, выходящие за пределы возможностей инструмента: там, сериализация в C++ или сгенерировать Data Object по XML-ю.

И просьбочка: если видите что-то полезное в моём аглицком блоге про .NET, немного Java, WiX, OOP, OOD и немного всё остальное - поставьте на него ссылку, пожалуйста.

(no subject)

12/3/08 15:02 (UTC)
Posted by [identity profile] aamonster.livejournal.com
Дык не осложнял... В дельфовской проге у меня было всего 3 версии файла - так что мне понадобилось три раза прогнать генерацию, и все. А так - выткается в make-файл (в общем случае) или в build rules (для visual studio) правило для обработки файлов-шаблонов (ну там, что lex-файлы надо скармливать lex'у), и все.

Да, что я не понял из описания гибернейта: оно генерит оптимальный код или просто работает с объектами через reflection? Так-то, кажется, имеем ровно ту же кодогенерацию, но в рантайме...

(no subject)

13/3/08 07:45 (UTC)
Posted by [identity profile] aamonster.livejournal.com
Выступаю в роли адвоката дьявола :-).

Да, а "оптимизирован" - в смысле, когда мы грузим мапу, она один раз получает ссылки на требуемые поля/методы свойств через reflection, а дальше уже работает напрямую?

На самом деле, грань между кодогенерацией и другими подходами достаточно зыбкая. Можно ведь и генерацию объекта по XML-описанию считать кодогенерацией =).

P.S. А уж что считать кодогенерацией в функциональных языках - просто непонятно =)