>> в итоге порождаются вполне удобоваримые скрипты сборки, притом человекочитаемые
>> и даже с комментариями, зачем оно притащило ту или иную фичу.
> Это ж где такая прелесть?Автоматическое создание сборочной информации проекта видел и использовал больше двадцати лет тому в наборе JPI TopSpeed (когда писал на Modula-2). Иэхх, и впрямь прелесть :-)
> Пока я видел, что создание пакетов из тарболов происходит в ручном режиме.
Посмотрите на cpan2rpm/cpan2spec и подобные конверторы -- это частный случай, но в хорошо устроенных репозиториях метаинформации для генерации спека по тарболу достаточно.
>> а сишный исходник — это конфиг для процессора. в виде программы. угу.
> [...] возможностей генерации практически нет.
Да ладно. "generate c code" => ~238k результатов в гугле сейчас.
>> а я разве про конфигур говорил?
> Я говорю в принципе про качество сгенерированного кода.
Бывает разным, смотря как продумывали и выписывали генератор. Кстати, макросы -- это тоже кодогенерирование. И они бывают не только первого порядка.
PS re #197:
> Ещё раз: формально это программа, фактически - конфиг в виде программы.
Так в приличных языках текст программы сразу является и структурированными данными (s-expression, например)...
PPS re #176:
>> Makefile-то? [...] Хинт: программирование бывает не только императивным.
> Это программы настолько, насколько являются программами конфиги [...]
> А императивщина тут ни при чём
Вообще занятно перечитывать ваше обсуждение -- интересно, случайно так мысли наложились или нет? :)
Makefile -- это программа на местами функциональном языке; в таких языках кодогенерация по факту является довольно общим местом. С императивщиной так делать просто неудобней.