суббота, 12 сентября 2009 г.

Что такое HiAsm?


HiAsm (от HIgh ASseMbler, т.е. высокий ассемблер) – это конструктор полноценных программ Win32 (несмотря на своё название, к ассемблеру отношения не имеет). Он не требует написания какого-либо кода, так как все программы в нём собираются из кубиков-компонентов, как в конструкторе.

HiAsm - это не какой-то новый язык программирования, а всего лишь оболочка над обычным Паскалем. И компилятор используется FPC (или Delphi). Но весь код скрыт от программиста, ему остаётся лишь соединять компоненты связями, как в конструкторе, составляя схемы программ, а в код всё переводит сам HiAsm.

Это значительно ускоряет создание программ, вплоть до того, что несложные программы делются за одну минуту. И больше не придётся искать в Интернете переименователь файлов или специфический текстовый редактор - его можно быстро сделать самостоятельно.

Конечно, гибкость программирования несколько страдает, но у программиста всегда есть возможность вставить код Паскаль в схему. Кроме того, в схему можно вставить код Gentee, JavaScript и VBScript. И всё это будет скомпилировано в одну программу.

А программы, сделанные в HiAsm, весят в 10 раз меньше, чем на Delphi (это достигается за счёт использования библиотеки KOL, а не VCL), хотя их работоспособность не страдает.

Конечно, по функциональности HiAsm значительно отстаёт от Delphi, но он непрерывно совершенствуется, и новые версии появляются очень часто. HiAsm открыт для доработки, и любой человек сможет принять участие в улучшении этой среды.

Вот плюсы HiAsm:
  • HiAsm позволяет быстро создавать программы даже новичкам, не знающим ЯП
  • HiAsm русскоязычен, сайт (http://www.hiasm.com/) и форум тоже на русском языке
  • HiAsm полностью бесплатен и открыт для доработки
  • Размер программ, создаваемых HiAsm, почти в 10 раз меньше, чем на Delphi
  • Проекты HiAsm сохраняются всего в одном файле, имеющем текстовый формат
  • Новые версии HiAsm выходят очень часто
Также стоит добавить, что HiAsm способен создавать и сайты (html, JavaScript, php), и программы для КПК, и апплеты для панели управления, и расширения оболочки Explorer – из всё тех же кубиков-компонентов.

17 комментариев:

  1. Заманчивая программа. Поставил себе последнюю версию 4.03.181 (на лицензионную Висту HP SP2).
    Начинаю знакомиться.
    На стартовом окне intro не работают гиперссылки.
    Хорошо, что я такой сообразительный, что догадался кликать при нажатом ctrl (об этом ни слова) - тогда некоторые ссылки заработали.
    Но по-прежнему мертвыми остались 3 ссылки:
    %HiAsm%\Elements\delphi\Example\
    О проблеме антивирусов
    Проблемы с использованием FPC
    (адреса
    http://dev.hiasm.com/forum.html?q=3&t=31473
    http://dev.hiasm.com/profile.html?q=45&p=147
    не отвечают)

    В чем здесь дело?

    ОтветитьУдалить
  2. Адреса теперь такие:
    http://hiasm.com/forum.html?q=3&t=31473
    http://hiasm.com/profile.html?q=45&p=147
    Под FPC некоторые компоненты не компилируются. Во 2м видеоуроке я показываю, как установить компилятор delphi.
    Ссылки %HiAsm%\Elements\delphi\Example\
    действительно почему-то не работают.

    ОтветитьУдалить
  3. За новые ссылки спасибо!
    По поводу %HiAsm%\Elements\delphi\Example\ я разобрался.
    Это замысловатое указание, что за примерами нужно обращаться в папки, вложенные в папку установленной программы. Написали бы просто: см. директорию... - не пришлось бы голову ломать.

    ОтветитьУдалить
  4. А у меня тоже на висте HP SP2 с explorer.exe проблема - при виде файлов .sha он завершает работу(!)(то есть если открыть папку, где есть такой файл, он завершает работу надписью "Прекращена работа Проводник"...) В чем дело?

    ОтветитьУдалить
  5. Скорее всего, это из-за того, что в HiAsm есть плагин, отвечающий за вывод подсказки над sha-файлами. Если выбрать Вид - Информация о проекте и вписать что-либо, а затем сохранить файл, то при наводе мыши на этот файл в подсказке будет этот текст.
    Попробуйте удалить файл SHAInfo.dll в папке Plug.

    ОтветитьУдалить
  6. Спасибо, помогло! Мне подсказка-то и не особо нужна. Удалил файл этот, больше не ругается :)
    А конструктор классный! Прост и понятен! (программы на моем сайте можно глянуть (в имени ссылка))

    ОтветитьУдалить
  7. Здравствуйте. Спасибо Вам за такой прекрасный блог. У меня вот возник вопрос. Если HiAsm это не новый язык программирования (в чём я с Вами полностью согласен), то можно сказать что программы написаные в нём написаны на языке Паскаль или Дельфи (в зависимости от компилятора)? Дело просто в том, что я написал программу и хочу её запатентовать, а в документах необходимо написать язык программирования. Вначале хотел написать HiAsm, но сразу понял что это не так. Помогите пожалуйста разобраться.

    ОтветитьУдалить
  8. Да, Hiasm это только надстройка над языком Object Pascal (и не важно, какой тут компилятор, потому что Delphi - это Object Pascal + VCL, а Hiasm - это Object Pascal + KOL; KOL и VCL - это библиотеки компонентов, построенные по разным принципам).

    Однако с вопросом по патентованияю программы лучше обратиться на форум hiasm.com к создателю HiAsm'а (т.к. создатель не я, а Dilma, я только веду блог по Hiasm), потому что на исопльзование компилятора Delphi есть какие-то ограничения (в плане коммерческого использования).

    ОтветитьУдалить
    Ответы
    1. UPD: делал госрегистрацию двух программ на HiAsm - так указывал язык программирования именно HiAsm. И листинг кода давал из sha-файла. И всё нормально прошло, зарегистрировали.

      Удалить
  9. Когда возникает эта ошибка?
    Какая версия HiAsm?
    Какая ОС?

    ОтветитьУдалить
  10. По моему новичкам прывыкшим в вашему софту будет сложно привыкнуть к программированию на реальном ЯП начинающий вообще может испугатся ООП и кинуть все это дело Я щитаю нужно обучатся паралельно HiAsm и делфи например тогда человек не испугается

    ОтветитьУдалить
  11. Здраствуйте, я хотел поинтересоваться
    Какие сушиствуют ограничения,
    По количеству блоков, кнопок, связий, дочерних форм и прочего

    ОтветитьУдалить
  12. Вроде никаких ограничений нет. Только количество точек у DPE-элементов (типа Hub, IndexToChanel) не более 100.

    ОтветитьУдалить
  13. Runtime error 216 at $00401F5C при попытке обновления.

    ОтветитьУдалить
  14. То же самое: "Runtime error 216 at $00401F5C" при обновлении ((

    ОтветитьУдалить
  15. Nice post thank you Michael

    ОтветитьУдалить