1) Объектный CG - пакеты Windows(язык Delphi), PocketPC(язык С++)
2) CG на базе макросов - FASM(язык Assmbler). Подробнее о качестве кода этого пакета может рассказать tsdima
3) Потоковый CG(или FTCG) - пакеты WEB(языки PHP, JavaScript, HTML), Modules(языки C++, JavaScript)
И именно в предалах каждого из способов кодогенерации стоит проводить сравнение и не с языками Дельфи или Ассмемблером, а с исключительно теми языками, которые испольщуются в данном конкретном пакете:
1) Объектный CG - самый худший из существующих способов кодогенерации. Выразить в цифрах качество нельзя, поскольку оно сильно зависит от элементов используемых в схеме. Зависимость примерно такая: чем больше в схеме элементов, выполняющих достаточно мелкие задачи(Math, StrCat, If, For и прочие), тем больше ухудшается качество получаемого в данном пакете приложения. Тесты на строках(использование элемента For и StrCat в циклах от 100тыс итераций) давали примерно 10-15кратное ухудшение работы приложения по параметру "Скорость".
2) Работает несколько быстрее, чем 1) однако точные данные может предоставить только автор
3) Потоковый CG генерирует код практически не уступающий по качеству тому, что мог бы получиться при ручном кодирование. Примеры можно посмотреть в разделе WEB на форуме. Тестовый пример с элементами For и StrCat в пакете Delphi2 давал результаты по скорости работы такие, какие вообще в состояние предоставить данный язык программирования.
По размеру кода все пакеты дают примерно одинаковые результаты, т.е. размер хоть и больше того, каким мог бы быть, но всего лишь в 1.5 - 2 раза. Иногда и меньше.
По ресурсам думаю сравнивать смысла не имеет. Качество распределения ресурсов от способа генерации кода практически не зависит. Скорее от реализации каждого конкретного элемента.
User108 писал(а):
И вообще, если есть желание стать настоящим программистом, стоит ли начинать с Хиасм, или лучше все-таки с Ассемблера и Дельфи?Хороший вопрос... В своей практике приходилось сталкиваться с мнениями, что настоящими программистами становятся те, кто начинает программировать на С++
![](/img/smilies/icon_smile.gif)
С какого языка начинать, посоветовать не могу - уважающий себя программист должет знать их все. Или во всяком случае большинство.
![](/img/smilies/icon_cool.gif)
User108 писал(а):
А то я уже больше года программирую, но благодаря Хиасм - не написал ни строчки кода... User108, это значит, что цель таки была достигнута
![](/img/smilies/icon_wink.gif)