Light-electric.com

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

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

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

Важным направлением работ в 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.

Читать еще:  Уроки программирования c

Отдавая дань традициям 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 года.

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

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

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

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

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

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

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

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

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

Читать еще:  Ribbon интерфейс программирование описание

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

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

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

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

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

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

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

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

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

Среды разработки программ

Интегрированные среды программирования являются различными средами программирования объединенными в один пакет программ и использующие одни и те же средства(пример Microsoft Visual Studio включает в себя несколько языков программирования, но с объединенным компилятором т.е. на каком либо языке программирования(из включенных в пакет) пишется программа затем собирается(сборка происходит у каждого языка своя) и передается компилятору(компилятор один) или используют одни и те же средства отладки программ и т.д.).

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

Обычно среда разработки включает в себя текстовый редактор, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик. Иногда также содержит средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. Хотя и существуют среды разработки, предназначенные для нескольких языков — такие как Eclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования — как например, Visual Basic.

Примеры сред разработки — NetBeans, Eclipse, Sun Studio, Turbo Pascal, Borland C++, GNU toolchain, DrPython, Borland Delphi, PascalABC.NET, Dev-C++, Lazarus, KDevelop, QDevelop, QNX Momentics IDE, XCode

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

графический язык программирования — который прежде всего язык программирования (со своим синтаксисом)

визуальные средства разработки — как правило под ними подразумевают средства проектирования интерфейсов или какую либо CASE-систему. для быстрой разработки приложений или SCADA- систему для программирования микроконтроллеров.

Языки визуального программирования могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы:

языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами;

языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств. Примеры: Delphi и C++ Builder фирмы Borland, С#

языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Пример: UML.

С изобретением визуального программирования, первой ласточкой которого была среда разработки Visual Basic, создание графического пользовательского интерфейса стало под силу даже новичку. В среде Visual Basic можно было быстро создать приложение для операционной системы Windows, в котором были все присущие графическому пользовательскому интерфейсу элементы: окна, меню, кнопки, поля ввода и т.д. Все эти элементы превратились в строительные блоки программы — компоненты — объекты, имеющие визуальное представление на стадии проектирования и во время работы.

Проектирование пользовательского интерфейса упростилось на порядок, однако, для профессиональных программистов язык Basic оказался явно слабоват. Отсутствие в нем контроля типов данных и механизма их расширения оказалось камнем преткновения на пути создания серьезных программ. Создание нестандартных компонентов в среде Visual Basic было крайне затруднено (для этого приходилось прибегать к другим средствам разработки, в частности, к языку C++). В общем, среда Visual Basic отлично подходила для создания прототипов приложений, но не для разработки коммерческих программных продуктов

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

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

  • графический язык программирования — который прежде всего язык программирования (со своим синтаксисом)
  • визуальные средства разработки — как правило, под ними подразумевают средства проектирования интерфейсов или какую либо CASE-систему для быстрой разработки приложений или SCADA-систему для программирования микроконтроллеров.

Языки визуального программирования могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы:

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

Визуально-преобразованные языки являются невизуальными языками с наложенным визуальным представлением (например, среда Visual C++ для языка C++). Естественно-визуальные языки имеют неотъемлемое визуальное выражение, для которого нет очевидного текстового эквивалента (например, графический язык G в среде LabVIEW).

В современных разработках делаются попытки интегрировать подход визуального программирования с программированием потоков данных (англ. dataflow programming ), чтобы иметь непосредственный доступ к состоянию программы для онлайновой отладки, или автоматизированная генерация и документирование программы. Языки потоков данных также позволяют делать автоматическое распараллеливание, которое может стать одним из величайших достижений программирования в будущем. [1]

Содержание

Графические, или визуальные, языки программирования

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

  • Дракон-схемы — графический язык программирования, используется для программирования в ракетно-космической технике («Буран», «Морской старт», «Тополь»). Существует бесплатный Дракон-редактор. Этот язык имеет наиболее строгое теоретическое обоснование.
  • Язык последовательных функциональных схем SFC (Sequential Function Chart) — графический язык программирования широко используется для программирования промышленных логических контроллеров PLC.

В SFC программа описывается в виде схематической последовательности шагов, объединённых переходами.

  • LD — язык релейно-контактных схем
  • FBD — язык Функциональных блоковых диаграмм.
  • Язык CFC (Continuous Flow Chart) — ещё один высокоуровневый язык графического программирования. CFC — это дальнейшее развития языка FBD. CFC был специально создан для проектирования систем управления непрерывными технологическими процессами.
  • G, язык, используемый в среде разработки LabVIEW
  • VisSim это визуальный язык программирования предназначенный для моделирования динамическая систем, а также проектирования, базирующегося на моделях, для встроенных микропроцессоров.

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 и ниже. Иное дело — графические языки, в отличие от визуальных, предназначенные для построения графических объектов, а не как инструментальное средство программирования.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector