Новое слово в визуальном программировании!

Bird_V

http://hiasm.spb.ru
В далекие-далекие годы моего детства жили-были люди, которых считали волшебниками. Эти люди умели говорить с машинами, огромными как дом компьютерами. Их речь была абсолютно не понятна окружающим и, как справедливо полагают, даже им самим. Их древний язык, записанный на картонные таблички, очень смахивал на древнюю клинопись.
Долго ли, коротко ли это продолжалось, но пришли им на смену маги – особая раса, говорящая на языке Ассемблер. Свои разговоры с машинами писали они на дли-и-инные папирусы, и называли непонятным словом «листинги». Речь сия была понятна обычным людям не больше, чем арабские письмена европейцам.
Компьютеры становились меньше, их становилось всё больше, и всё больше людей хотели говорить с умными машинами. Поднатужились маги, подсуетились волшебники и дали человечеству особый язык. Скажешь заветное слово, и машина выполнит, что ты хочешь. А прикрикнешь на нее «FOR 1 TO 100000 STEP 1» и станет она трудиться уже без остановки. Людей же, допущенных писать волшебные свитки, стали называть программистами.
Но, случилось непредвиденное, и наступил день компьютерного Вавилона. И заговорили программисты на разных языках. И произошли отсюда народы компьютерные: паскалисты, сишники, бесиковцы, фортранисты, лиспсовики и прочие. Всплеснули руками маги-волшебники, но было уже поздно.
Скоро сказка сказывается, да не скоро дело делается. Время шло. Языки развивались, крепчали. Паскалисты стали дельфийцами, сишники – сипэпэшниками… Возникли новые компьютерные наречия: ява, перл, аштиэмел, фокс, эскуель, аксесс… И языки все стали визуальными. Это значит, что рисуешь кнопочку, а потом пишешь, что она должна делать. Многим красота сия по вкусу пришлась, но некоторым - непонравилась. «Мастдайщики» - кричали они – «Эникейщики», «Вам лучше вязанием идти заниматься, а не программированием». Но как говорится, плоха та кухарка, что не хочет управлять государством, и плох тот ламер, который не хочет стать программистом. Но, не смотря на большие упрощения, всё равно сложным оставался процесс написания программ… Вот именно, написания. А так хотелось бы ее просто рисовать, как блок-схему.
И вот! Свершилось! Появился язык программирования, который позволяет нарисовать программу мышкой. Называется он HiAsm. Вы не верите, что программу можно нарисовать? Ну и напрасно. Теперь любая кухарка, набросав нечто, очень похожее на блок-схему и нажав на кнопку «скомпилировать», может получить работающую программу. Конечно, кухарки никогда не превзойдут профессиональных программистов по части изощренности кода. Но ведь не всегда для написания программы обязательно знать о существовании ООП. В конце концов, тот, кто считает себя слишком крутым, может пропустить эту статью. А мы, запасемся медом-пивом, пригладим усы, чтоб по ним не текло, и возрадуемся новому шагу в технологии программирования.
Posvad.
HiAsm - попытка собрать программу, помогающую упростить рутинную работу, которой иногда приходиться заниматься на компьютере, особенно это относится к людям интенсивно работающим за своими машинами. Ей же можно пользоваться и как планировщиком задач, причем планировщиком с достаточно мощным набором функций, позволяющим точно и быстро объяснить компьютеру то, что вы от него хотите.
Построение программ в HiAsm производиться при помощи мнемонических схем-диаграмм в удобном редакторе со встроенной справкой. Сейчас возможности приложения позволяют составлять небольшие программки для:
работы с Internet и локальной сетью
работы со строками
операциями с файлами
работы с буфером обмена
расширения меню Explorer
простой и легкой работы с портом LPT
окнами Windows
выключение компьютера по времени
картинками(скриншоты, кодирование и прочее)
рабочим столом
реестром
и прочими вещами, список которых постоянно растет и ширится. Сразу стоит отметить, что приложения пишутся на "Высокоуровневом Конструкторе" без единой строчки кода! С одной стороны это позволяет значительно расширить круг возможных пользователей(и почти полностью исключить семантические и синтаксические ошибки а с другой сильно ущемляет возможности программы, которые становятся полностью зависимыми от имеющихся компонентов
Да, конечно есть очень много вещей, которые на HiAsm не сделаешь даже если кол-во компонент будет измеряться в десятках тысяч. Но точно так же есть масса вещей, которые постоянно от времени к времени приходиться делать и для которых уже есть сотни программ от различных авторов, с различными нужными и ненужными примочками и которые разбросаны по всему интернету в тысячах( а то и больше ) копиях. Зачем качать десятки программок, когда достаточно один раз освоить HiAsm и почти всё это сделать самому, с теми ф-циями, которые нужны только вам!
И конечно же по скорости и простоте написания программ с HiAsm не сможет сравниться никто!

teonazoi

Никто не скачал?
Инета нету
Хочу почувствовать себя поваром

hov77

только у меня ни один пример не запустился, то list index out of bound, то ресурсные файлы не находит...
а так в целом задумка прикольная

hov77

Короче еще compiler.rar нужно разархивировать...тогда все работает...
Вот простейшее приложение которое меняет caption у формы в соответствии со значением в EditBox:

hov77

А вот KeyLogger

Marinavo_0507

6 лет назад показывали IBM VisualAge примерно с такими же словами

mirt1971

А мне интересна target group этой шняги. Ну зачем кухарке нужно писать программы? Да к тому же для кухарки и это слишком сложно. А для нормального программера в этих шнягах слишком мало возможностей. В общем и целом, программер должен программировать, а кухарка - готовить. Иначе будет разруха.

loks-po

Э... и ни строчки кода?

hov77

Ага, чисто входы с выходами соединять, похоже на проектирование печатных плат

maggi14

Я очень похожую фигню видел для создания IVR: SmartPhone называется

loks-po

Гы-гы-гы.
Мне захотелось поиграться! Надеюсь по адресу еще не скорро опустеет?
А как там условие оформляется. А цикл?

hov77

Вот так например ListBox заполняется значениями от 1 до 10... запущенное приложение также на скриншоте есть , параметры цикла задаются в свойствах ( см справа )

vijrel7878

преложи Цану спекман на ней переписать

hov77

Не согласится - не понятно как тесты писать

vijrel7878

а все остально понятно как делать

hov77

Первый вопрос будет про тесты, до остального не дойдет .
А так остальное , тоже нельзя, как сами разработчики и заявляют : "Да, конечно есть очень много вещей, которые на HiAsm не сделаешь даже если кол-во компонент будет измеряться в десятках тысяч.".

loks-po

Sorry за вопросы: это последний пост -
А (подключений ) можно сколько хочешь сделать?
Это еще и компилятор? Тогда какой объем вот допустим объектного файла, который ListBox заполняет в цикле числами?
Возможно это уже написано - не могу весь тред прочитать.

hov77

>>А (подключений ) можно сколько хочешь сделать?
Подключений к чему
>>Это еще и компилятор? Тогда какой объем вот допустим объектного файла, который ListBox заполняет в цикле числами?
Кстати если заглянуть в папку compiler то там можно увидеть dcc32.exe, т.е. делфинский компилятор.
Экзешник занимает 51 кб. А obj файлов у делфи вроде как не создается.

loks-po

Я в обоих случаях непраивильно выразился... исправлюсь.
Подключениями я назвал точки, возникающие на месте пересечения линиями, соединяющими квадратики (визуализирующие разл. понятия этих самых "квадратиков". Иначе я никак не могу описать то, что изображено на скриншотах.
Я спрашивал про размер .exe файла. Я его получил.

hov77

Там эти подключения фиксированны у каждого компонента, т.е. они представляют его интерфейс.
Просто некоторые функции скрыты по умолчанию, но их можно включить.

730093729520

Этот конструктор мне сильно напоминает старый-престарый LabView...
Пробовал я на нем писать - по мне так полный отстой. Когда программа становится достаточно большой, она абсолютно утрачивает читабельность... Хрен чего найдешь в этом хитросплетении проводов. По-моему функциональное и объектное программирование намного удобнее, проще и читабельнее.
Хотя для тех, кто вообще не знаком с программированием, возможно проводки соединять проще...

stream

Этот конструктор мне сильно напоминает старый-престарый LabView...
Пробовал я на нем писать - по мне так полный отстой.

Да иди ты нах....
Просто писать не умеешь и отстоем считаешь
LabView моя самая любимая среда програмирования.
1) Согласен - LabView совершенно нерентабельно если вопрос
в производительности счета.
2) Но если вопрос не в том сколько считать проц будет, а сколько
програмер писать будет - то в 3 из 4 случаях LabView вне конкуренции.
3) К тому же в програмировании под железо - LabView - очень мощное средство
Ну зачем кухарке нужно писать программы? Да к тому же для кухарки и это слишком сложно.
А для нормального программера в этих шнягах слишком мало возможностей. В общем и целом,
программер должен программировать, а кухарка - готовить. Иначе будет разруха.

Могу уризонить:
К примеру мне часто нужно обсчитывать какие-то данные в большом количестве.
С какими проблемами я сталкиваюсь зачастую? (например)
- Вывести график
В С++ я делаю это за 30 минут (с учетом ручного рисования осей, графика, подписей, курсоров)
В Delphi - за 7 минут (с использованием Tchart)
В LabView - за 20 секунд
(2 щелчка мыши: правый, а затем левый; Ctrl + Е; Tab; и ещё пару движений мыши - Все Готово!)
Другой простой пример
- мне надо найти макимум в массиве (или отсортировать массив)
В LabView есть типа утилиты (те же 2 щелчка- правой, а затем левой - готово)
конечно есть минусы - читай пункт 1

PS:
пользовательский интерфейс

код собственно

stream

Да там столько фич!
- интерполяция дискретно заданной функции
- апроксимация данных типа набора точек (Х,У) кучей функций
- фурье анализ
- наложение на данные типа "сигнал" произвольного частотного фильтра
- создание шняги типа мультиканальный анализатор
и много другое
И все это делаеться одним и тем же способом:
два клика - правый, а затем левый.
Короче говоря в обычной жизни: если мне надо починить приемник
я беру уже придуманный до меня тестер, уже выплавленную металургами отвертку, и уже собранный до меня кем-то паяльник.
Я лишен таких "радостей" как самостоятельное придумывание тестеров, отливание отверток, и намоток паяльников.

oleg_mcp

>1) Согласен - LabView совершенно нерентабельно если вопрос
в производительности счета.
>3) К тому же в програмировании под железо - LabView - очень мощное средство
Сдается мне, здесь есть какое-то противоречие.
Ну если таким говном заниматься, как рисование графиков, то да, такие "среды программирования" помогут.

psm-home

Просто LabVIEW заточен под такое "говно", как автоматизация в промышленности и лабораторном эксперименте. И то, под что он заточен, он делает хорошо. Согласен, что программирование рисованием блок-схем довольно странное занятие, но в той области, где имеет смысл применять LV это работает. Последняя версия LV умеет дёргать COM объекты и взаимодействовать с .NET, вызывать функции из DLL LabVIEW умеет давно, так что всё, что нельзя сделать в нём самом, можно переложить на внешние компоненты. К LV есть много библиотек для таких вещей, как промышленное распознавание символов или взаимодействие с системами реального времени. Так что свою нишу оно имеет и не жужжит. Не буду тебя никуда посылать с твоим постом, т. к в этой теме одного уже послали, думаю этого достаточно.

psm-home

Когда программа становится достаточно большой, она абсолютно утрачивает читабельность...
Ага. Только в LabVIEW есть средства поддержки модульности, ты в любой момент можешь кусок схемы, который представляет из себя логически законченный блок, превратить в virtual instrument. Только так на LV и можно писать, сначала у тебя получается "простыня". Потом ты в ней выделяешь блоки, выносишь их в отдельные модули. В любом "нормальном" языке программирования есть всё тоже самое. Функции, процедуры, классы, модули, юниты. Ими надо уметь пользоваться, иначе... Смотри цитату с которой начался этот пост. А у тебя с таким подходом и на C прога состояла бы из одной большой функции main.

maggi14

> программирование рисованием блок-схем довольно странное занятие
Странно. А почему-то аналитикам с их Розой платят в разы больше, чем кодерам.

psm-home

> программирование рисованием блок-схем довольно странное занятие
Странно. А почему-то аналитикам с их Розой платят в разы больше, чем кодерам.
Гы. Ну, может потому, что аналитики не программисты. И, кстати, как это в Rational Rose можно программировать не расскажешь? Я-то имел в виду именно т. н "тупой кодинг", это когда тебе надо колбасить, колбасить и колбасить. И вот тут, на мой взгляд, рисование блок схем - это действительно выглядит несколько странно.

maggi14

> И вот тут, на мой взгляд, рисование блок схем - это действительно выглядит несколько странно.
В таком случае поддерживаю.
А аналитики в значительно большей степени программисты, нежели кодеры. Имхо. В моем понимании слова "программист"

Bird_V

Ага. Только в LabVIEW есть средства поддержки модульности, ты в любой момент можешь кусок схемы, который представляет из себя логически законченный блок, превратить в virtual instrument. Только так на LV и можно писать, сначала у тебя получается "простыня". Потом ты в ней выделяешь блоки, выносишь их в отдельные модули. В любом "нормальном" языке программирования есть всё тоже самое. Функции, процедуры, классы, модули, юниты. Ими надо уметь пользоваться, иначе... Смотри цитату с которой начался этот пост. А у тебя с таким подходом и на C прога состояла бы из одной большой функции main.

Как ни странно, в HiAsm тоже есть поддержка модульности, причём в "нескольких лицах":

  • Компонент MultiElement
  • Написание собственных компонентов (см. встроенную справку)
  • Подключение собственных Dll (компонент CallDLL)

PS совсем топик зафлудили... мы вроде про HiAsm разговариваем, а не про LabView...
Оставить комментарий
Имя или ник:
Комментарий: