Вверх ↑
Администрация
Ответов: 15294
Рейтинг: 1518
#1: 2007-07-15 20:20:00 ЛС | профиль | цитата
Во-первых, на данный момент вопрос не совсем корректен. Сам по себе HiAsm - это просто редактор схем. Конечную программу собирают кодогенераторы, входящие в состав пакетов. На данный момент есть три основных типа:
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 писал(а):
И вообще, если есть желание стать настоящим программистом, стоит ли начинать с Хиасм, или лучше все-таки с Ассемблера и Дельфи?

   Хороший вопрос... В своей практике приходилось сталкиваться с мнениями, что настоящими программистами становятся те, кто начинает программировать на С++ Однако если человек не понимает, что программирование это не клацанье по клавишам, а работа головой и умение мыслить логически, то как раз для него имеет смысл с какого языка начинать.
   С какого языка начинать, посоветовать не могу - уважающий себя программист должет знать их все. Или во всяком случае большинство. Степень сложности по убыванию примерно такая: Assembler, C++, Delphi, C#, Basic.

User108 писал(а):
А то я уже больше года программирую, но благодаря Хиасм - не написал ни строчки кода...

User108, это значит, что цель таки была достигнута Впрочим HiAsm тем и хорош, что позволяет достаточно легко переходить от простого к сложному, путем преодаления у человека непонимания принципов программирования. Кубики и линии понятны всем и каждому, а как только кому-то не хватает существующих возможностей он может дописывать существующие элементы или делать свои, постепенно и ненавязчиво изучая язык пакета.
карма: 26
2
Голосовали:SkyPrinceRus, lisnic