Визуальные языки программирования - IT Новости из мира ПК
Semenalidery.com

IT Новости из мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Визуальные языки программирования

Почему Визуальное Программирование не смогло.

Давайте поразмышляем в вами о том, почему же визуальное программирование (создание программ из блоков) не побороло простой текст. Он легко воспринимается, мы взглядом видим структуру, слова, иногда не вчитываясь можем воспринимать словосочетания. Что характерно для программистов — определенные конструкции языка легко различимы на фоне остального программного кода. Они постоянно повторяются и запоминаются, да еще и средства разработки (различные редакторы) подсвечивают блоки. Так может стоит эти блоки изобразить графически? Визуальная информация еще лучше воспринимается человеком. Такие идеи приходили многим еще с 70-х годов двадцатого века.

Копнём немного в историю программирования

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

И очень долгое время, в двадцатом веке, все что люди могли делать — это программировать компьютеры при помощи перфокарт. А это сложный процесс.

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

Для моего коллеги, как-то было открытием узнать, что его любимый терминал в котором он пишет скрипты в Linux — Bash (популярная разновидность командной оболочки UNIX) тоже всего лишь программа. Многослойные пироги из интерфейсов и представлений везде встречают нас в мире компьютеров. Даже текстовые интерфейсы — это всего-лишь слой над машинным кодом.

Визуальное программирование

Манипулирования графическими объектами вместо написания её текста часто представляют как следующий этап развития текстовых языков программирования. Наглядным примером может служить утилита Визуальный Pascal или Microsoft Visual Studio , где редактируются графические объекты и одновременно отображается соответствующий текст программы. Но эти среды и инструменты не дают полного перехода к визуальному программированию. Здесь отдана на откуп только часть с графическими интерфейсами.

В последнее время визуальному программированию стали уделять больше внимания — в связи с развитием мобильных сенсорных устройств.

Одним из первых инструментов, более известных и дружелюбных, можно считать Scratch. Он предназначен исключительно для образовательных целей, так как представляет собой те же блоки кода, только обернутые в разноцветные пазлы. Практической пользы нет минимум.

И пока представление в виде картинки увеличивает площадь на единицу цикломатической сложности, ничего хорошего не получится.

Схемы просты, пока они маленькие. Я сам проектировал некоторые штуки в виде майндмапов, и они пригодны к работе только пока маленькие. Читаемость больших схем ужасна.

Текстовый вид удобен тем, что для него выработаны некоторые приемы декомпозиции. Ну например, можно легко назвать две парадигмы — ООП и функциональное программирование. И мы знаем, на какие части надо разбивать, и как их компоновать друг с другом (шаблоны проектирования, или монады).

В случае диаграмм ничего из этого нет.

Но стоит всё же немного напомнить, что прежде, чем императивный код стало проще писать/читать в виде текста, нежели в виде блок-схем — прошло довольно много времени и пришлось изрядно ограничить допустимые варианты кода — структурное программирование, ООП — это именно ограничения, которые мы добровольно приняли, чтобы иметь возможность разбираться в своих программах.

В некоторых областях графическое программирование может применяться, а то и быть самым удобным инструментом (например в программах типа Blender) .

Визуальное программирование – будущее написание кода

Визуальное программирование – будущее написание кода

Визуальное программирование – способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста. Визуальное программирование часто представляют как следующий этап развития текстовых языков программирования.

Визуальные языки программирование появились очень давно, задолго до того, как появился визульный рекадтор от Unreal Engine -> Unreal BluePrint.

На данный момент, это один из лучших визульный редакторов, в котором можно создавать игры без знания языков программирования. Однако хочется заметить, что несмотря на его популярность и рост визуального программирования в целом, ещё ни один большой проект без дополнения кодом так и не вышел.

Визуальное программирование, а точнее его концепция, базируется на технологии программирования потока данных. Этот подход был придуман ещё 1970-х годах. Он заключается в том, что любую программу можно представить в так называемой блок-схеме. Если вы когда-то сталкивались с алгоритмами, то вы должны знать что это.

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

Визуальное программирование поможет в обучении

Желание научиться создавать программы с помощью визуального редактора у человека появилось из-за разных факторов, однако есть мнение, что код – это сложно, страшные, непонятные закарлючки, которые понимают только гении. Всё конечно же не так, программирование это круто, интересно и полезно для общества в большинстве случаях.

Есть много перспективных языков программирования, которые помогают в развитии различных сфер, почитать.

Люди, как правило, ленивы и каждый хочет упростить себе работу и плюс, не все люди хотят писать код, а некоторые и не думают этого делать. Вот тут и приходит на помощь визуальное программирование.

Рассматривая современные средства визуального программирования, стоит упомянуть о проекте The Blockly от компании Google, главная функция которого, это образование.

Blockly позволяет разработать свои приложения под Web, Android, iOS и научится программировать просто перемещая и создавая блоки. Логические и математические операции, переменные, циклы, списки, функции – это то, что можно выучить и сделать с помощью Blockly.

С помощью Blockly можно легко обучать детей в школе, начиная с малого возраста и не затрудняться с учебным планом по информатике. Это будет куда полезнее современной системы образования(личное мнение).

Существуют достаточно хорошие решения визуального программирования, тот же Unreal BluePrint, Unity3D Maker и другие, однако не один из них не является идеальным на данный момент.

Визуальное программирование – выводы

Мощности вычеслительных машин на сегодняшний день значительно выросли и это безусловно на стороне визульного программирования. Вы можете без проблем запустить Unity3D, Unreal Engine, отрисовать графику в браузере и не бояться, что ваш ПК задымится.

Читать еще:  Код ошибки 0x80004002

Несмотря на то, что можно создавать приложения, сайты, игры с помощью редакторов визуального программирования, не существует ни одного крупного проекта, который был создан исключительно на нём.

Судя по всему, игры всё ещё нельзя делать только при помощи клика мышки, программы нельзя писать без кода, но мы постепенно приближаемся к таким технологиям. Главный вопрос, хорошо это или плохо? Так или иначе, будущее ещё не наступило.

На этом всё, подписывайтесь на телеграмм канал и на обновления сайта, делитесь статьёй с друзьями.

Эпоха визуального и объектно-ориентированного программирования

Важным направлением работ в 1990-е годы становятся визуальные (графические) языки программирования, в которых процесс «написания» программы как текста заменяется на процесс «рисования» (конструирования программы в виде диаграммы) на экране ЭВМ. Визуальные языки обеспечивают наглядность и лучшее восприятие логики программы человеком.

Поскольку графический интерфейс предполагает реакцию на события (в пекрвую очередь — действия оператора), то оказалось, что наиболее удобно его программировать с помощью объектно-ориентированных технологий, пионерами которого стали до сих пор применяемые языки Симула и Смолтолк.

Разделы страницы о языках объектного программирования (в порядке их популярности и развития):

  • Событийный визуальный язык Object PAL (для Парадокса)
  • Развите Паскаля (Turbo Pascal, Delphi, PascalABC)
  • Развитие языка Бэйсик (Visual Basic, VBA, VBS)
  • Развитие языков Си и C++ (Lattice C, Turbo C, MS C; C++, C#)
  • Другие высокоуровневые языки программирования

Событийный визуальный язык Object PAL (для Парадокса)

ObjectPAL представляет собой интегрированный объектно-ориентированный, управляемый по событиям, визуальный язык программирования, предназначенный для разработки приложений, работающих под управлением СУБД Paradox для Windows (СУБД Парадокс раньше принадлежал Борланду, теперь — Корелу). На начальном уровне функциональности Object PAL можно осуществлять операции с данными, создавать специальные меню, а также управлять сеансом ввода данных. События в Object PAL порождают команды, которые имитируют эффект использования Paradox в интерактивном режиме. Существует возможность автоматизировать часто выполняемые задания, а также осуществлять над таблицами, формами и отчетами действия, которые были не доступны при интерактивной работе.

Также Object PAL предоставляет все средства полнофункционального языка программирования в среде Windows. Можно использовать Object PAL для создания законченных систем, в которых реализованы специальная система меню, справочная система, а также всевозможные проверки данных. В Object PAL можно сохранить свои наработки в динамически компонуемой библиотеке, доступ к которой будут иметь несколько форм. Кроме того, можно установить связь с другими динамическими библиотеками, содержащие прграммы, написанные на таких языках как Си, C++ или Паскаль.

Object PAL может быть использован в качестве инструмента для создания автономных программ. Можно написать законченное Windows–приложение и запустить его под Paradox. Object PAL поддерживает механизм динамического обмена данными в качестве как клиента, так и сервера. Кроме того, Object PAL поддерживает в качестве клиента механизм работы с составными документами. В дополнение к сказанному существует возможность включать в свое приложение мультимедийные средства, снабдив выполняемое приложение звуковыми и анимационными эффектами.

Язык прекратил своё развитие с прекращением развития СУБД Paradox.

Развите Паскаля (Turbo Pascal, Delphi, PascalABC)

Язык Pascal — эталонный язык для изучения структурного програиирования. Потомок Алгола. Брат Модулы и Ады.

Компания Borland реализовала Turbo Pascal и Modula для MS DOS, затем Delphi с библиотекой визуального программирования VCL для Windows, а потом разработала среду Visual C++ для работы с этой библиотекой.

Объектный Паскаль (Object Pascal) — ? г.

Язык Object Pascal (Объектный Паскаль) — язык программирования, разработанный в фирме Apple Computer в 1986 году группой Ларри Теслера, который консультировался с Никлаусом Виртом. Произошёл от более ранней объектно-ориентированной версии Паскаль, называвшейся Clascal, который был доступен на компьютере Apple Lisa.

Язык Дельфи (Delphi) — ? г.

Язык Delphi — визуальный объектно-ориентированный Pascal для разработки АРМов в ОС Windows.

Язык PascalABC.NET — ? г. (РФ, ЮФУ)

PascalABC.NET — это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования. PascalABC.NET является мультипарадигмальным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях [!].

Проекты Free Pascal Compiler (FPC) и Lazarus

Free Pascal Compiler (FPC) — это свободно распространяемый компилятор языка Паскаль с открытыми исходными кодами. Он совместим с Borland Pascal 7 и Object Pascal – Delphi, но при этом обладает рядом дополнительных возможностей, например, поддерживает перегрузку операторов. FPC — кроссплатформенный инструмент, поддерживающий огромное количество платформ. Среди них — AmigaOS, DOS, Linux, *BSD, OS/2, MacOS(X) и Win32.

Однако FPC — не просто компилятор. Он имеет в своём составе великолепный набор библиотек, одной из которых является FCL, включающая в себя компоненты, совместимые с невизуальными компонентами VCL из Borland Delphi.

Разработка визуальных компонент — это цель другого проекта — Lazarus. Он представляет собой среду быстрой разработки программ, аналогичную Delphi, и базируется на оригинальной кроссплатформенной библиотеке визуальных компонент LCL, также совместимых с VCL.

Развитие языка Бэйсик (Visual Basic, VBA, VBS)

Предком всех basicподобных языков является язык BASIC (Beginner’s All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих), созданный в 1963 году. Из расшифровки акронима видно, что данный язык задумывался для обучения начинающих программистов, так как существующие языки были сложными и требовали глубокого понимания принципов программирования. Простой и удобный BASIC позволял студентом легко понять принципы и постепенно переходить к изучению более сложных языков. Не смотря на обучающую направленность языка, его простота и компактность позволила фирмам разработчикам ПО (особенно Microsoft) встраивать этот язык в набирающие популярность персональные компьютеры. Именно этот факт сыграл решающую роль в развитии языков семейства BASIC. Огромная популярность языка подвигла разработчиков создавать все новые и удобные версии, следующие за тенденцией развития ПО.

Но какой бы популярностью не обладали потомки и вариации языка Бэйсик, он все равно оставался облегченным языком программирования для людей, не владеющихся профессиональными программистами. И даже когда, следуя за развитием ПО появился новый вид языка под названием Visual Basic, для созданий приложений с графическим интерфейсов, статус «для новичков» остался неизменным. Так продолжалось вплоть до 2002 года, когда компания Microsoft представила сообществу совершенно новый продукт – платформу .Net Framework.

Читать еще:  Google gapps произошла ошибка

Отдавая дань традициям Microsoft включили язык Visual Basic в список языков, доступных для разработки по технологии .Net, но существенно переработав и дополнив его. Новым языком стал Visual Basic.Net. Именно появление VB.Net стало переломным моментом спустя почти 40 лет со дня появления языка. От своих предшественников VB.Net сохранил большую часть синтаксиса и команд, но под капотом имел совершенно новые классы оборачивающие множество WinAPI. Именно этот факт помог стать языку VB.Net в один ряд с любым другим языком, использующим технологию .Net, так как мощь приложения теперь зависала не от языка, а от возможностей конкретной версии .Net Framtwork. Тем не менее, VB.Net до сих пор менее популярен, чем C#.

На основе Visual Basic были созданы:

Бэйсики для офисных приложений (VBA)

  • VBA для Microsoft Excel (50 шагов, а также ссылки на Access, DAO, AutoCAD, Corel Draw)

Язык VBScript

VBScript (Script версия языка Visual Basic) фирмы Microsoft — это язык сценариев, предусмотренный в браузере MS Internet Explorer, и наиболее очевидный вариант выбора для программирования Web страниц на базе ActiveX-элементов. Он представляет собой адаптированное для Web подмножество языка VBA (Visual Basic for Applications) с принятым в Microsoft синтаксисом Бейсика. Здесь используются обычные для языка Бейсик обозначения объект-параметр (перечисляемые через точку), процедуры, функции и структуры, пригодные для управления выполнением программы, а также широкий набор традиционных для этого языка функций. Все, кому ранее уже приходилось работать с современным языком Бейсик, прекрасно справятся и с VBScript.

Синтаксис VBScript является несколько упрощенной версией стандартного синтаксиса Visual Basic. Например, в VBScript не поддерживается типизация: все переменные имеют тип Variant. Сценарии на языке VBScript (как и JScript) чаще всего используются в следующих областях:

  1. Автоматизация администрирования систем Windows.
  2. Серверный программный код на страницах ASP в Web-приложениях. [?]
  3. Клиентские сценарии на Web-страницах (в основном только в браузере Internet Explorer).
  • Улицы VB (о VBS) — конференциями

Развитие языков Си и C++ (Lattice C, Turbo C, MS C; C++, C#)

Я более-менее нормально стал понимать C++ где-то через полгода чтения книжки «С++ за 21 день» =)

На основе С++ был создан язык программирования серверной части веб-сайта C# технологии .NET.

Улучшенный компилятор C++ — язык Ди (D) — 2007 г.

Ди (D) — объектно-ориентированный, императивный, мультипарадигмальный язык программирования, созданный Уолтером Брайтом из компании Digital Mars. Изначально был задуман как реинжиниринг языка C++, однако, несмотря на значительное влияние С++, не является его вариантом. В D были заново реализованы некоторые свойства C++, также язык испытал влияние концепций из других языков программирования, таких как Java, Python, Ruby, C#, Eiffel. Создание языка D — это попытка соединить производительность компилируемых языков программирования с безопасностью и выразительностью динамических. Код на языке D обычно работает так же быстро как эквивалентный код на C++, при этом программа на D короче и обеспечивает безопасный доступ к памяти. Стабильная версия компилятора 1.0 вышла 2 января 2007[3]. Экспериментальная версия компилятора 2.0 выпущена 17 июня 2007 года.

4GL-Технологии. Основы визуального программирования

Grundlagen der Visuelleprogrammierung

Теоретические основы визуального программирования

Визуальные среды общего назначения (4GL)

Специализированные визуальные среды

Интегрированные среды разработки (IDE/3GL+)

В визуальном программировании используются специальные объемные (3D) или плоские (2D) графические или псевдографические среды.

То есть в отличие от языков низкого (1GL), среднего (2GL), высокого уровня (3GL), где программирование и язык носят существенно линейный, последовательный характер, в визуальных средах (4GL) мы имеем дело с с существенно разветвленными «пространственными» структурами типа блок-схем. При этом «кирпичиками» этих блок-схем являются заранее разработанные подпрограммы и функции с унифицированным автоматическим «интеллектуальным» интерфейсом. При соединении таких «кирпичиков» их взаимный интерфейс настраивается без участия программиста.

Таким образом, визуальное программирование позволяет нам программировать на уровне алгоритмов, а не программного кода.

Программный код на языках 3GL, 2Gl, 1GL пакет визуального программирования генерирует из составленной программистом «блок-схемы» в автоматическом режиме сам.

Программист лишь в нестандартных случаях корректирует программный код, либо создает на нем дополнительные «пользовательские объекты» — модули-кирпичики для последующего использования в визуальном программировании.

Визуальное программирование — четвертое поколение языков программирования (4GL — 4-th Generation Languages) в отличие от предыдущих поколений перешло к иной, событийной парадигме, то есть программа в них выполняется не последовательно от начального ввода данных до выдачи отчета, как в языках предыдущих поколений, а отдельными короткими «атомарными» звеньями кода (алгоритма), начинаясь с некоторого инициирующего события (прерывания) и заканчиваясь либо новым внешним событием, меняющим ход программы, либо генерируя свое событие — прерывание для другого «атомарного» звена. Таким образом программа в 4GL, как правило, не имеет характера однозначной, заранее предопределенной цепи последовательных звеньев — блоков, как в языках 1GL — 3GL, но некоторой разветвленной сети программных звеньев, последовательность выполнения которых диктуется внешними событиями. Такая парадигма является адекватным ответом на новый характер работы современного программного обеспечения, которое работает в режиме интерактивного взаимодействия с другими программами, устройствами и человеком.

Сами средства визуального программирования состоят из следующих частей:

  • языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами;
  • языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств. Примеры: Delphi и C++ Builder фирмы Borland, С#
  • языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Пример: UML.

Некоторые авторы не относят языки типа Delphi и C++ Builder фирмы Borland, С# к визуальным языкам, но только определяют их как визуальные среды для текстовых языков. Такая точка зрения имеет лишь частичное обоснование. Дело в том, что за любым визуальным языком, в его основании, обязательно лежит текстовый язык. Примеры: Flash и ActionScript, любой векторный формат графики и язык его скрипт-контента (WMF, VRML). Другое дело, что многие визуальные среды требуют существенного участия программиста в текстовом программировании, так как не являются совершенными, полностью автоматически формирующими код уровня 3GL и ниже. Иное дело — графические языки, в отличие от визуальных, предназначенные для построения графических объектов, а не как инструментальное средство программирования.

1. Электромагнитная волна (в религиозной терминологии релятивизма — «свет») имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например,

200 тыс км/с в стекле и

3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью «Температура эфира и красные смещения»), разную скорость для разных частот (см. статью «О скорости ЭМ-волн»)

2. В релятивизме «свет» есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский «свет» — это волнение ничего в ничем. У него нет среды-носителя колебаний.

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

4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те «подтверждающие теорию Эйнштейна факты», которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.

интервью Раввина Борода https://cursorinfo.co.il/all-news/rav.
мой телеграмм https://t.me/peshekhonovandrei
мой твиттер https://twitter.com/Andrey54708595
мой инстаграм https://www.instagram.com/andreipeshekhonow/

[b]Мой комментарий:
Андрей спрашивает: Краснодарская синагога — это что, военный объект?
— Да, военный, потому что имеет разрешение от Росатома на манипуляции с радиоактивными веществами, а также иными веществами, опасными в отношении массового поражения. Именно это было выявлено группой краснодарцев во главе с Мариной Мелиховой.

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

Metaprog: универсальная графическая среда программирования [в разработке]

Почему, несмотря на обилие «чудесных» ООП-языков, Си, разработанный в 1973 году, до сих пор не умер? Потому что не выхдящие за рамки текстового программирования попытки «улучшить» или заменить Си давали и дают проблем больше, чем решали.

Какой из ныне существующих языков программирования позволяет программировать мышкой, а не клавиатурой? На чем можно программировать графически, а не в тексте? Пока что это позволяет на приличном уровне только пропиетарное LabVIEW. Трудно поверить, но это единственная полностью графическая среда программирования серьезного уровня в 2019 году! Но даже в LabVIEW есть куча недостатков (которые невозможно самостоятельно устранить из-за пропиетарности).

Графическое программирование намного проще и понятнее. Если в качестве бэкенда брать Си и манипулировать функциями из сишной стандартной библиотеки, это не будет создавать никаких лишних абстракций, зато серьезно упростит жизнь программистам и особенно людям, имеющим дело с чужим кодом. Код любого уровня и любой сложности, представленный в виде графических блоков, станет открытым не только для узких специалистов, но и вообще любому продвинутому пользователю. Простота программирования и эффективность, не меньшая, чем у Си, убьет C++, Python, Java, Javascript и прочую ерунду с раздутыми и полными багов абстракциями (которые Линус не раз крыл матом).

Я уже делаю некое подобие LabVIEW на самом LabVIEW, назовем его Metaprog. Так же, как в 1991 Линус Торвальдс делал линукс, пользуясь пропиетарным Minix. И так же жаловался на кучу недостатков в Minix, желая устранить их в своей системе.

Я уже рисую простенькие блок-схемы. Добился того, что функции, типы, структуры, юнионы из сишных #include сразу отображаются в виде меню, что серьезно упрощает знакомство со стандартной библиотекой Си.

Примеры с кодом на Си генерируются автоматически. Они тут же скармливаются компилятору и не предназначены для чтения эстетами, не любящими «абракадабру». Здесь они приведены лишь как пример работы транслятора и для возможности самостоятельно скомпилировать графические диаграммы со скринов. Так сказать, приобщиться к прекрасному.

Самое простое — Hello World. Скомпилируйте (gcc -o ./test ./code.c).

Я подписываю терминалы на украинском (сам оттуда), с таким же успехом их можно подписывать на русском, а не только на английском. Можно будет перевести все, кроме, разве что, вызываемых сишных функций, а gcc этого и не заметит (посмотрите код). При работе международной командой можно к каждой подписи/надписи прилагать словарь с нужными языками. Игры ж локализируют, чем визуальное программирование хуже?

Массив декларируется не как строка в кавычках, а как последовательность байтов, а байт — это цифра. Строки редактируются отдельным редактором (пока что средствами LabVIEW, но это временно). Больше никаких проблем и глюков с управляющими символами, кавычками итп (очень серьезная проблема при программировании на Си, Shell scripting и вообще всех текстовых языках).

Константа-массив имеет отдельные терминалы для указателя на массив и длины массива (известной редактору кода). Если терминал длины подключен — декларируется отдельная переменная. Не подключен — незачем и декларировать.

Пример посложнее: запись и в stdout, и в файл ./fwrite-test.txt

В данном примере используется функция fwrite, а не printf. То есть, символ «0» не влияет на запись массива в файл или stdout. Сколько символов писать функция и так знает из длины массива.

Принимаю заявки на новые фичи. Пишите в комментариях. Уже приняты заявки:

1. Пример с простым HTTP-сервером.

2. Пример с сортировкой Хоара (quicksort).

3. Простой в пользовании функционал работы со строками (больная тема для Си и С++).

4. Полностью графический функционал работы с регулярными выражениями, без вовлечения PCRE.

Сейчас нужно научить Metaprog «компилировать» блок-схемы прямо в Си и скармливать этот код gcc, получая бинарники. После чего перенести сам Metaprog на Си, чтоб перестать нуждаться в пропиетарном LabVIEW и выложить результаты в опенсорс. И получить за это донат, хотя желательно уже сейчас (для ускорения работы). Bitcoin:1AYoK2TScSpD5bhf67mv9AxHDJ2RidRvjD

Ссылка на основную публикацию
Adblock
detector