Основы HiAsm | - Аннотация |
Аннотация
Что такое HiAsm?
HiAsm или Конструктор программ это прежде всего система визуального проектирования и разработки приложений, не требующая от пользователя знания языков программирования и особенностей функционирования ОС, позволяющая быстро и легко писать (рисовать) небольшие программы.
Что же в конечном счете проектируется и разрабатывается целиком и полностью зависит от пакета или их наборов, установленных в оболочке. Такой пакет, как правило, включает в себя палитру элементов (компонентов, из которых строится схема), один или несколько типов проектов, а так же основной функциональный модуль, занимающийся собственно генерацией кода под тот или иной язык программирования с последующей его компиляцией в конечное приложение. Весь процесс проектирования состоит в размещение элементов на рабочем столе приложения и их связывания друг с другом, что в первом приближение можно сравнить с построением обычного алгоритма на основе стандартизированных функциональных блоков (циклов, условных блоков, переходов, операторов и прочего).
Кроме того имеется возможность вставки скриптового кода на языках Java и VB или непосредственно кода того языка, на котором генерируется данный проект пакета, что позволяет использовать отсутствующие в стандартном наборе компонентов ф-ции или выполнять сложные мат. расчеты, где запись в виде строк кода является одновременно и более удобочитаемой и более эффективной. Опытным же пользователям такая возможность позволяет писать более сложные программы с использованием готовых блоков HiAsm.
Что же в конечном счете проектируется и разрабатывается целиком и полностью зависит от пакета или их наборов, установленных в оболочке. Такой пакет, как правило, включает в себя палитру элементов (компонентов, из которых строится схема), один или несколько типов проектов, а так же основной функциональный модуль, занимающийся собственно генерацией кода под тот или иной язык программирования с последующей его компиляцией в конечное приложение. Весь процесс проектирования состоит в размещение элементов на рабочем столе приложения и их связывания друг с другом, что в первом приближение можно сравнить с построением обычного алгоритма на основе стандартизированных функциональных блоков (циклов, условных блоков, переходов, операторов и прочего).
Кроме того имеется возможность вставки скриптового кода на языках Java и VB или непосредственно кода того языка, на котором генерируется данный проект пакета, что позволяет использовать отсутствующие в стандартном наборе компонентов ф-ции или выполнять сложные мат. расчеты, где запись в виде строк кода является одновременно и более удобочитаемой и более эффективной. Опытным же пользователям такая возможность позволяет писать более сложные программы с использованием готовых блоков HiAsm.
На кого рассчитан данный продукт?
Очевидно, что с помощью HiAsm довольно легко и быстро пишутся (точнее рисуются) небольшие разовые программы и утилиты, не требующие особого упора на интерфейс и сложные математические алгоритмы. Кроме того Конструктор программ поможет каждому, кто не знает ни одного языка программирования, воплотить почти любую (в меру разумную) свою идею в жизнь без посторонней помощи с минимальными затратами времени и ресурсов.
Программист же помимо указанного выше использования за счет возможности вставки своих компонентов может организовать неплохую "тестовую" лабораторию, где весь периферийный инструментарий всегда под рукой и нет необходимости отвлекаться на посторонние вещи (например, при работе с железом, где главная задача – это работа с портами, а не вывод кнопок и надписей на форму). Благодаря же возможности создания и подключения своего собственного пакета программист получает неплохую возможность собирать пакеты для решения каких-то своих нестандартных задач, а может и нестандартных языков и/или платформ.
Программист же помимо указанного выше использования за счет возможности вставки своих компонентов может организовать неплохую "тестовую" лабораторию, где весь периферийный инструментарий всегда под рукой и нет необходимости отвлекаться на посторонние вещи (например, при работе с железом, где главная задача – это работа с портами, а не вывод кнопок и надписей на форму). Благодаря же возможности создания и подключения своего собственного пакета программист получает неплохую возможность собирать пакеты для решения каких-то своих нестандартных задач, а может и нестандартных языков и/или платформ.
Что HiAsm НЕ может?
В процессе знакомства с конструктором программ у некоторых пользователей создается впечатление, что теперь они могут все. Однако это очевидно не так и вот почему:
1) Самая главная и очевидная причина - пользователь, не владеющий языками программирования, может собирать программы только из тех блоков, которые есть в палитре элементов (или на сайте конструктора). Конечно же, палитра элементов стандартного пакета позволяет делать очень многое и практически все то, что может пригодиться в процессе повседневной работы за компьютером, но охватить все возможности операционной системы, протоколы, интерфейсы и т.д. Конструктор не в состоянии.
2) Простота подхода графического программирования обратно пропорциональна сложности одного блока на схеме. Иными словами, чем сложнее и функциональнее каждый блок вашей схемы, тем проще и нагляднее будет выглядеть конечное приложение и меньше времени займет его разработка. И наоборот - чем проще блок, тем сложнее и запутаннее получается схема. К примеру, один элемент для отправки почты содержит в себе множество более простых действий, таких как установление связи с сервером, формирование тела письма, обработка ответов от сервера и т.д. и поэтому программа с его использованием может быть построена на паре десятков элементов. Совсем другая ситуация наблюдается в тех случаях, когда требуется проводить множество математических операций. Например, при проектировании игры Пятнашки больше половины схемы уходит на работу с матрицей поля (прочесть ячейку матрицы, записать ячейку, сравнить две ячейки и т.д.).
3) Ну и последнее, что хотелось бы отметить в качестве существенного ограничения это зачаточное состояние тех механизмов программирования (и проектирования), которые есть сегодня в любом языке и которые позволяют создавать программы неограниченной сложности.
Поэтому не стоит забывать о том, что Конструктор Программ это прежде всего среда программирования для тех, кто не знает ни одного языка и даже примерно не представляет, что это такое.
1) Самая главная и очевидная причина - пользователь, не владеющий языками программирования, может собирать программы только из тех блоков, которые есть в палитре элементов (или на сайте конструктора). Конечно же, палитра элементов стандартного пакета позволяет делать очень многое и практически все то, что может пригодиться в процессе повседневной работы за компьютером, но охватить все возможности операционной системы, протоколы, интерфейсы и т.д. Конструктор не в состоянии.
2) Простота подхода графического программирования обратно пропорциональна сложности одного блока на схеме. Иными словами, чем сложнее и функциональнее каждый блок вашей схемы, тем проще и нагляднее будет выглядеть конечное приложение и меньше времени займет его разработка. И наоборот - чем проще блок, тем сложнее и запутаннее получается схема. К примеру, один элемент для отправки почты содержит в себе множество более простых действий, таких как установление связи с сервером, формирование тела письма, обработка ответов от сервера и т.д. и поэтому программа с его использованием может быть построена на паре десятков элементов. Совсем другая ситуация наблюдается в тех случаях, когда требуется проводить множество математических операций. Например, при проектировании игры Пятнашки больше половины схемы уходит на работу с матрицей поля (прочесть ячейку матрицы, записать ячейку, сравнить две ячейки и т.д.).
3) Ну и последнее, что хотелось бы отметить в качестве существенного ограничения это зачаточное состояние тех механизмов программирования (и проектирования), которые есть сегодня в любом языке и которые позволяют создавать программы неограниченной сложности.
Поэтому не стоит забывать о том, что Конструктор Программ это прежде всего среда программирования для тех, кто не знает ни одного языка и даже примерно не представляет, что это такое.
Какие существуют аналоги?
Аналогов программ, схожих по тем или иным критериям с HiAsm, достаточно много: Lab View - продвинутая коммерческая оболочка для работы со специализированным оборудованием компьютера( тестирование, управление, контроль и т.д. ), SoftWire - модуль для Visual Studio, позволяющий генерировать код под .NET с возможностью ручной правки, A-Flow - позволяет создавать Win32 программы на основе сетчатой схемы и внешних списков с данными, Inqsoft Sign 0f Misery - больше напоминает "трекер команд", т.е. программы (скрипты) тут пишутся путем составления списка команд с последующим их выполнением.
Благодарности
Благодарность от имени всего проекта выражается участникам форума, которые позволяют быстро и оперативно находить ошибки и исправлять их. Отдельное спасибо всем тем, кто помогает поддерживать проект и вносить в него новые идеи и предложения:
Ravilr, Tad, Вячеслав, Астрамак, Андрей., Леонид, MAV, Эдик, Alexbootch, v258, Валерий, Assasin, 3042
BB-code статьи для вставки
Всего комментариев: 0
(комментарии к статье еще не добавлены)