В далекие-далекие годы моего детства жили-были люди, которых считали волшебниками. Эти люди умели говорить с машинами — огромными, как дом, компьютерами. Их речь была абсолютно не понятна окружающим и, как справедливо полагают, даже им самим. Их древний язык, записанный на картонные таблички, очень смахивал на древнюю клинопись.
Gajus Shutterstock.com
Долго ли, коротко ли это продолжалось, но пришли им на смену маги — особая раса, говорящая на языке Ассемблер. Свои разговоры с машинами писали они на дли-и-инные папирусы и называли непонятным словом «листинги». Речь сия была понятна обычным людям не больше, чем арабские письмена европейцам.
Компьютеры становились меньше, их становилось всё больше, и всё больше людей хотели говорить с умными машинами. Поднатужились маги, подсуетились волшебники и дали человечеству особый язык. Скажешь заветное слово — и машина выполнит, что ты хочешь. А прикрикнешь на нее: «FOR 1 TO 100000» — и станет она трудиться уже без остановки. Людей же, допущенных писать волшебные свитки, стали называть программистами.
HIASM УРОК 1 знакомимся с программой.
Но случилось непредвиденное и наступил день компьютерного Вавилона. И заговорили программисты на разных языках. И произошли отсюда народы компьютерные: паскалисты, сишники, бесиковцы, фортранисты, лиспсовики и прочие. Всплеснули руками маги-волшебники, но было уже поздно. Воцарился хаос.
И восстал программист на программиста, и пошел войной хакер на хакера. Начались крестовые походы паскалистов-крестоносцев против неверных иноязычников. И бились свободолюбивые пингвины с Биловскими ордами сарацинскими. И лились строчки кода программного, как полноводные реки. И вирусы наводнили программные коды.
Жены программистов рыдали в холодных опустевших постелях. Они с надеждой смотрели по ночам в черные окна, но мужья-подпольщики не возвращались с компьютерных фронтов. Скоро сказка сказывается, да не скоро дело делается. Время шло. Дети не знали своих отцов, не учили родных языков и придумывали новые…
Языки крепчали в битвах. Паскалисты стали дельфийцами, сишники — сипэпэшниками… Возникли новые компьютерные наречия: ява, перл, аштиэмел, фокс, эскуель, аксесс… И языки все стали визуальными. Это значит, что рисуешь кнопочку, а потом пишешь, что она должна делать. Многим красота сия по вкусу пришлась, но некоторым — не понравилась. «Мастдайщики! — кричали они. — Эникейщики!
Вам лучше вязанием идти заниматься, а не программированием». Но, как говорится, плоха та кухарка, что не хочет управлять государством, и плох тот ламер, который не хочет стать программистом. Однако несмотря на большие упрощения, всё равно сложным оставался процесс написания программ… Вот именно, написания. А так хотелось бы ее просто рисовать, как блок-схему.
И вот свершилось! 10 лет назад появился язык программирования, который позволяет нарисовать программу мышкой. Называется он HiAsm. Вы не верите, что программу можно нарисовать? Ну и напрасно.
Программирование | HiAsm — создание программы за 5 минут
Теперь любая кухарка, набросав нечто, очень похожее на блок-схему, и нажав на кнопку «скомпилировать», может получить работающую программу. Конечно, кухарки никогда не превзойдут профессиональных программистов по части изощренности кода. Но ведь не всегда для написания программы обязательно знать о существовании ООП.
В конце концов, тот, кто считает себя слишком крутым, может пропустить эту статью. А мы запасемся медом-пивом, пригладим усы, чтоб по ним не текло, и возрадуемся новому шагу в технологии программирования. Закончилось время слушания сказок, наступает пора творчества.
HiAsm является полностью визуальным редактором. В процессе создания программы, не пишется ни строчки полноценного кода (хотя можно в специальные блоки вставить любой ранее написанный код, практически на любом известном языке программирования). Элементы программы переносятся поле редактирования путем выбора элемента на панели элементов с последующим щелчком на рабочем столе программы.
Построение алгоритма программы осуществляется путем соединения элементов-кубиков линиями связи. Причем линии связей могут идти исключительно от правой стороны одного кубика к левой стороне другого или от нижней стороны одного к верхней другого.
Простейшая программа выглядит так: при нажатии на кнопку [1] строку текста «Здравствуй, мир!» [2] вывести в текстовую надпись [3]. В квадратных скобках указаны номера соответствующих элементов на блок-схеме. (Рис. 1)
Причем данная программа выглядит совершенно одинаково для модуля обычной программы, приложения для мобильного телефона или сайта. Соответственно, можно создать обычную Windows программу (не хуже, чем в Delfi), приложение для мобильного или сайт (интернет-магазин делается на «Ура!»).
***
Давным-давно, когда в ходу были еще ZX-Spectrum’ы, загружаемые с кассетных магнитофонов, была для них написана на BASIC’е игра «Букмекер». Это был достаточно простой симулятор тотализатора на лошадиных скачках. Несмотря на простоту, она доставила мне и моим друзьям немало интересных минут. Мы играли на «фантики» по безобразно простым правилам:
• делаются ставки на лошадей и дается старт забега;
• ставки, сделанные на лошадь, пришедшую второй, возвращаются обратно;
• остаток делится между победителями пропорционально их ставок.
Недавно встретились мы с друзьями старой компанией и решили вспомнить прежние забавы. Ан не тут-то было! Сгнили Spectrum’ы в чуланах, потерлись аудиокассеты с программами. Поискали мы в И-нете… Нет аналогов. Только рулетки и однорукие бандиты.
В общем, так в тот день мы ни во что и не поиграли.
А мысль у меня засела, чтобы игрушку эту к жизни возродить. Так и появилась игра «Старые клячи». (Рис. 2.) Алгоритм ее заключается в том, что спрайты двигаются по полю на случайное число пикселей и вычисляется, какой из них достиг противоположного конца быстрее. Реализовано это в HiAsm’е, т.к. такие простые алгоритмы на нем реализовывать достаточно легко.
На первый вариант «Обычное приложение для Windows» времени ушло менее часа. На создание JavaScript-варианта для вставки на сайт этой же игры у меня ушло около 20 минут. При условии, что это была моя первая полноценная программа на JavaScript’е.
Вот такой язык программирования. Изучайте, творите, делитесь новыми знаниями.
Источник: www.shkolazhizni.ru
Визуальный программинг: Конструируем приложения с помощью HiAsm
Для того, чтобы написать полезное приложение, необязательно знать какой-то сложный язык программирования. Несложную сетевую утилиту, панель для управления роутером, удобный парсер информации и многое другое можно создать без единой строчки кода. Если под рукой есть конструктор приложений.
Все когда-то начиналось с Ассемблера. Машинный язык мнемонических команд был полностью завязан на архитектуру процессора, под который писалась программа, но при этом стал одним из первых общеиспользуемых языков программирования. Позже появились языки высокого уровня, абстрагирующие программиста от аппаратной части: Basic, Pascal, C и другие.
Гораздо больше времени потребовалось на осмысление, понимание и реализацию объектно-ориентированного подхода (ООП) в программировании, которое позволило еще проще описывать объекты реального мира терминами мира виртуального и породило букет языков следующего поколения, в том числе Delphi и C++. Среды для этих языков впервые стали вводить в обиход понятие «визуальное программирование», которое использовалось исключительно в конструкторах форм и интерфейсов. Наконец, последней волной стало появление сред, позволяющих визуализировать все этапы разработки ПО – от проектирования внешнего вида до реализации программного ядра – LabView, HiAsm, SoftWire и прочие. Как это выглядит? Сейчас разберемся.
Знакомьтесь – HiAsm
HiAsm – среда визуального программирования, программы в которой не пишутся, как это делается в классических языках, а проектируются из кубиков и линий связей между ними. Каждый такой кубик представляет собой элемент, который выполняет какое-то достаточно простое и узкоспециализированное действие (например, копирует файл, проигрывает звук, складывает два числа, качает файл из Internet и т.д. и т.п.).
Горизонтальные линии между элементами (или просто «связи») определяют логику будущей программы (то есть последовательность вызова событий и методов, если выражаться терминами классических языков программирования). Вертикальные же связи указывают элементам на то, какие данные откуда брать. Также у каждого элемента есть набор уникальных свойств, которые определяют особенности его функционирования (к примеру, у элемента «Кнопка» есть свойства, определяющие его положение на форме, заголовок, используемый шрифт, текст выводимой подсказки и прочие). Поэтому весь процесс конструирования сводится к расстановке элементов, протягиванию связей между ними и настройке (если необходимо) их свойств.
Посмотрим, как выглядит нарисованная таким образом программа классического «Hello world!», которая при нажатии кнопки выводит на экран соответствующее сообщение. Внешний вид схемы, реализующей данный функционал, представлен на рисунке. Собранное приложение состоит из двух элементов: Кнопка (Button) и Сообщение (Message), одной связи между ними (проложенную от события нажатия кнопки к методу показа сообщения) и одного измененного свойства Message (с текстом «Hello world!»). Мы не пишем ни одной строчки кода, но если заглянуть в исходник, то увидим исходник, который сгенерировала HiAsm:
Make(delphi)
Add(MainForm,2953706,21,105)
>
Add(Button,147563,189,105)
Left=180
Top=110
link(onClick,5363509:doMessage,[])
>
Add(Message,5363509,238,105)
Message=»Hello world. »
>
Сгенерированный код написан на языке Object Pascal, но есть и другие варианты. По сути, HiAsm представляет собой не более чем графический векторный редактор. А все его возможности по созданию приложений определяются уставленными пакетами и компиляторами. На текущий момент времени самым мощным из них является пакет Windows, использующий в качестве целевого языка Object Pascal для компиляторов FPC и Delphi. Помимо этого существуют следующие пакеты:
- PocketPC с целевым языком C++ и компилятором MS ARM для платформы Microsoft Windows Mobile;
- WEB – целевой язык PHP с поддержкой JavaScript и HTML;
- QT – целевой язык C++ для платформ Windows, Linux и MacOS;
- VBS – целевой язык Basic платформа Windows и прочие менее развитые.
Также в статусе «just for fun» существует online-версия HiAsm (hion.hiasm.com), с помощью которой можно поучиться составлять схемы, имея под рукой лишь браузер.
Пишем тестер веб-сервера
HiAsm
Программная среда для разработки программ Win32, Windows Mobile, Qt, wxWidgets, PHP, JavaScript и HTML
Яндекс.Браузер — быстрый браузер с защитой от мошенников и вредоносных сайтов.
- Windows 10
- Windows 8.1
- Windows 8
- Windows 7
- Windows Vista
- Windows XP
Тип лицензии:
Freeware (бесплатное)
Языки: Английский, Русский
Снимки экрана 4
HiAsm — свободно распространяемая среда разработки программ Win32, Windows Mobile, Qt, wxWidgets, а также сценариев и страниц PHP, JavaScript и HTML. HiAsm не является привычной средой с объектно-ориентированной архитектурой, где разработчику для написания программ требуется работать с редактором кода (т.е. необходимо знание языка программирования).
HiAsm — одна из немногочисленных сред, построенных на модель-ориентированной архитектуре. И разработка приложений здесь не требует знания языка программирования.
Программа HiAsm работает во всех версиях Windows, начиная с XP (32 и 64 бит). Интерфейс переведен на русский язык.
Принцип работы в среде HiAsm
Разработка приложений в среде HiAsm представляет собой процесс расстановки различных графических элементов в визуальном редакторе с последующей настройкой их свойств и выполняемых ими действий (функций). Другими словами, работа с HiAsm напоминает конструктор, в котором вместо сборных деталей используются различные программируемые компоненты со своими собственными уникальными функциями.
Алгоритм «написания» программы в HiAsm выглядит следующим образом (на примере разработки программы под Windows):
- Пользователь расставляет в окне редактора различные функциональные элементы (например, таймер и простое диалоговое окно с сообщением).
- Присвоение требуемых значений соответствующим параметрам добавленных компонентов. В нашем случае — время для таймера и сообщение для диалогового окна.
- Настройка связи между компонентами. В HiAsm это осуществляется путем прокладывания графической соединительной линии от одного элемента к другому.
- Настраивает условия, при которых должно произойти то или иное событие. К примеру, открытие диалогового окна и вывод сообщения «Hello World!» на экран по срабатыванию таймера.
В данном конкретном случае таймер начинает отсчет сразу после запуска программы, а по завершению заранее установленного времени на экран выводится сообщение.
По завершению конструирования программы HiAsm самостоятельно компилирует код и создает соответствующий исполнимый файл (в нашем случае — EXE-файл). Его можно будет запустить в любой момент, как и любую другую программу на компьютере без необходимости использования HiAsm.
Возможности HiAsm
Приведенный выше пример — простейшая программа. Функциональные возможности сконструированного в HiAsm приложения или веб-скрипта могут быть куда более широкими, чем простой вывод сообщения на экран.
Если брать в пример разработку программ под Windows при помощи HiAsm, то пользователь может внедрить в свое приложение такие функции и элементы как:
- Вызов разнообразных элементов контроля — кнопки, выпадающие меню, текстовые поля, формы, всплывающие подсказки и т.д.
- Всевозможные графические компоненты — геометрические фигуры, диаграммы, изображения, цветовая палитра, и другие.
- Компоненты, позволяющие получать различные сведения об ОС и компьютере, обращаться к подключенным устройствам и т.д., например — загруженность процессора, отправка данных на печать, получение изображений с камеры и многое другое.
- Мультимедийные компоненты — прослушивание аудио, просмотр видео, элементы управления свойствами звука (высота частот и т.п.), регулировка уровнями громкости и др.
- Сетевые компоненты — подключение к FTP, отправка/прием электронной почты, скачивание файлов по HTTP, работа с протоколами MRA (Mail.ru Agent) и Jabber.
- Инструменты управления базами данных через SQL, ODBC, OLE BD и др.
- Средства создания и управления OpenGL.
- Управление файлами и многое другое.
И подобные программные компоненты предусмотрены в большом количестве для всех поддерживаемых HiAsm языков программирования.
Источник: www.softsalad.ru