Мне стыдно у вас такое спрашивать... но я всё равно спрошу.
Зачем нужна кодогенерация?
Разве это не автоматизированный копи-пейст?
Ну, исключая случаи, выходящие за пределы возможностей инструмента: там, сериализация в C++ или сгенерировать Data Object по XML-ю.
И просьбочка: если видите что-то полезное в моём аглицком блоге про .NET, немного Java, WiX, OOP, OOD и немного всё остальное - поставьте на него ссылку, пожалуйста.
Зачем нужна кодогенерация?
Разве это не автоматизированный копи-пейст?
Ну, исключая случаи, выходящие за пределы возможностей инструмента: там, сериализация в C++ или сгенерировать Data Object по XML-ю.
И просьбочка: если видите что-то полезное в моём аглицком блоге про .NET, немного Java, WiX, OOP, OOD и немного всё остальное - поставьте на него ссылку, пожалуйста.
Tags:
(no subject)
12/3/08 14:51 (UTC)Описание могло бы быть в XML или текстом вроде:
---
Version 1.1
Class Form1
field TrackBarBrightness.Position=BrightnessValue
...
---
Да, сам код будет посложнее, но он будет единым и не будет усложнять процедуру сборки продукта.
(no subject)
12/3/08 15:02 (UTC)Да, что я не понял из описания гибернейта: оно генерит оптимальный код или просто работает с объектами через reflection? Так-то, кажется, имеем ровно ту же кодогенерацию, но в рантайме...
(no subject)
12/3/08 15:07 (UTC)Гибернейт, да, работает через reflection. Но он оптимизирован, так что генерит всё, что надо, и даже больше.
(no subject)
13/3/08 07:45 (UTC)Да, а "оптимизирован" - в смысле, когда мы грузим мапу, она один раз получает ссылки на требуемые поля/методы свойств через reflection, а дальше уже работает напрямую?
На самом деле, грань между кодогенерацией и другими подходами достаточно зыбкая. Можно ведь и генерацию объекта по XML-описанию считать кодогенерацией =).
P.S. А уж что считать кодогенерацией в функциональных языках - просто непонятно =)