Существует много вариантов использования кода.
Написание кода на привычном языке и создание кода для другого целевого языка.
- GWT -
Java -> Javascript
- MonoTouch -
C# -> Objective-C
Написание кода на более высоком уровне абстракции.
- Компиляторы
- Специфичные для домена языки
Автоматизация повторяющихся задач.
- Уровни доступа к данным
- Исходные модели данных
Игнорирование всех предвзятых понятий генерации кода, это в основном перевододно представление (обычно более высокий уровень) другому (обычно более низкий уровень).Помня об этом определении, это очень мощный инструмент.
Текущее состояние языков программирования никоим образом не достигло своего полного потенциала и никогда не достигнет.Мы всегда будем абстрагироваться, чтобы попасть на более высокий уровень, чем на сегодняшний день.Генерация кода - это то, что приводит нас туда.Мы можем либо зависеть от создателей языка, чтобы создать эту абстракцию для нас, либо сделать это сами.Сегодняшние языки достаточно сложны, чтобы любой мог легко это сделать.