Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

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

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

Визуальное программирование-это создание компьютерной программы с использованием графических элементов.

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователявизуальное программирование

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

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

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

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

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователятекстовое программирование

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

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

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

Визуального программирование следуют тем же процессам и парадигмам, что и текстовое программирование. Представьте, что вы рисуете класс и его связь с объектами, которые вы создаете, а не печатаете все это в текстовом редакторе. Все это звучит здорово! Но, спросите вы, где все визуальные программисты? Почему мы все еще пишем код вручную? Чтобы понять почему, давайте поймем истоки визуального программирования.

Рождение блок-схемы как прообраза визуального программирования

Начало 20-го века было временем утопических усилий по продвижению человечества вперед. Бурно развивалось производство и это вызвало необходимость документирования технологических процессов. В результате мы получили схему технологического процесса.

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователяблок-схема

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

В 1949 году пионеры информатики Герман Гольдстайн и Джон фон Нейман стали первыми, кто применил блок-схемы для описания компьютерных программ, работая на компьютере ENIAC. Такой визуальный язык был необходим, когда программирование было вопросом правильной установки тысяч десятипозиционных переключателей кольцевого счетчика.

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователяЭНИАК

По мере развития вычислительной техники в последующие годы ученые впервые использовали языки ассемблера. Затем они перешли на языки более высокого уровня, такие как FORTRAN и COBOL, которые задают стандарты для языков, которые мы используем и сегодня. В каком-то смысле каждый новый язык был одним и тем же.

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

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

Рост мощности компьютерного оборудования позволил программному обеспечению решать все более сложные проблемы. Эта возросшая сложность привела к некоторому изменению роли визуального программирования и текстового программирования. Простую систему управления персоналом или технологическим процессом легко представить визуально.

В 1990-е годы визуальное программирование разделилось на три ветви, каждая из которых занималась определенной проблемной областью:

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

Визуальное программирование критикуют за то, что оно делает программы игрушечными. Также количество визуальных элементов, которые могут быть показаны на экране одновременно ограничено. Предел Дойча указывает, что может быть показано примерно 50 элементов.

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

Образовательные среды визуального программирования

Визуальное программирование Scratch или Lego активно используются в системах образования. Проект Lego Mindstorms предлагает визуальный язык программирования, основанный на LabVIEW, для взаимодействия с программируемыми блоками Lego.

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователяScratch

Рассмотрим более подробно программируемые блоки Lego EV3. Блоки находятся в нижней части окна среды программирования Lego. Эта группа блоков носит название палитра блоков. Всего есть шесть типов блоков у которых для удобства в верхней части расположена полоса разного цвета:

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

Визуальное программирование — будущее программистов?

Источник

Визуальное программирование — почему это плохая идея

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Внимание.
Первоначальная версия этой публикации получила большой отклик на Reddit в виде более чем 300 комментариев. После этого я решил дописать к ней небольшой апдейт, чтобы ответить на некоторые критические замечания из множества поступивших.

Язык визуального программирования — это такой язык, который позволяет программисту создавать программы, манипулируя графическими элементами, а не печатая текстовые команды. Известным примером является Scratch, язык визуального программирования родом из MIT, который используется для обучения детей. Его преимущества заключаются в том, что он делает программирование более доступным для новичков и не-программистов.

В 1990-х годах было очень популярное движение по внедрению визуального программирования в корпоративную среду с помощью так называемых CASE-инструментов, где корпоративные системы можно было бы определять с помощью UML и генерировать [их код] без необходимости в привлечении обученных разработчиков программного обеспечения. Это связано с концепцией «round tripping» («туда и обратно»), где система может быть смоделирована визуально, программный код будет генерироваться из полученных моделей, а любые изменения кода могут быть возвращены обратно в модель. Увы, подобные инструменты так и не смогли выполнить свою миссию, и большинство из экспериментов [по их внедрению] в настоящее время в значительной степени заброшены.

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

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

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

Решение для большинства языков визуального программирования состоит в том, чтобы сделать «блоки» более сложными, чтобы каждый визуальный элемент был эквивалентен большому блоку текстового кода. Визуальные инструменты рабочего процесса являются здесь непосредственным камнем преткновения.

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

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

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

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

И теперь мы подошли ко второму заблуждению, что абстракция и декупликация играют небольшую роль в программировании. Визуальное программирование исходит из предположения, что большинство программ являются простыми процедурными последовательностями, несколько похожими на блок-схему. Как правило, большинство начинающих программистов считают, что программное обеспечение именно так и работает.

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

Большинство профессиональных программистов будут постоянно абстрагировать и декуплицировать код. По сути разница между хорошим и плохим кодом в основном и заключается в том, насколько программисту удалось это сделать. У инструментов визуального программирования очень редко есть эффективные механизмы для таких вещей, в результате «визуальный» разработчик оказывается в ловушке доступных возможностей, эквивалентной BASIC’у 1970-х годов.

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Последнее заблуждение состоит в том, что визуальные программисты якобы могут обойтись без всех инструментов поддержки программирования, которые были разработаны на протяжении десятилетий. Взгляните на длительную эволюцию редакторов кода и сред IDE. Например, Visual Studio поддерживает эффективный инструмент intellisense, позволяющий подсматривать тысячи API-интерфейсов, доступных в одной только в библиотеке базового класса. Отсутствие хорошего контроля над версиями — еще один серьезный недостаток большинства инструментов визуального программирования.

Даже если они сохраняют свой макет в текстовом формате, «диффы» не имеют никакого или почти никакого смысла. Очень трудно сделать ‘blame’ (найти коммит и ответственного за изменения конкретной строки) в большой глыбе XML или JSON. Вещи, которые не имеют никакого значения для функционального исполнения программы, такие как положение и размер графических элементов, при этом постоянно приводят к изменениям в метаданных, что делает «дифф» еще более сложным для синтаксического анализа.

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

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

Другим контр-примером, приведенным в Reddit, были инструменты статической структуры, такие как дизайнеры пользовательского интерфейса, дизайнеры схем баз данных или дизайнеры классов. Я согласен, что они могут быть очень полезными. Все, что помогает визуализировать структуру данных или масштабную структуру программы, является бонусом. Но их никогда не бывает достаточно. Об этом свидетельствует полный провал инструментов из 90-х, таких как Power Builder, которые базировались на графических визуализациях для создания среды разработки без необходимости работать с кодом.

Об авторе:
Заметки, мысли вслух, обучение у всех на виду, недоразумения, ошибки, неразбавленные мнения. Я Майк Хэдлоу, проповедующий разработчик. Я живу недалеко от Брайтона на южном побережье Англии.

Источник

Доклад на тему «Основы визуального программирования»

Визуальное программирование – одна из технологий в современном программировании

Основы визуального программирования

Вопросы для самопроверки

Визуальное программирование – одна из технологий в современном программировании

Визуальное программирование (от лат. v isualis – зрительный) – это технология программирования, предусматривающая создание приложений с помощью наглядных средств.

К визуальному программированию можно отнести также Rapid Application Development (RAD) – быструю разработку программ. RAD – технология программирования, обеспечивающая ускоренную разработку и модификацию приложений за счет использования объектно-ориентированного и визуального программирования.

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

Визуальное программирование, бесспорно, обладает достоинством наглядного представления информации и гораздо лучше соответствует природе человеческого восприятия, чем методы традиционного, текстового программирования. Однако практически все визуальные средства нуждаются в дополнении функциями, которые не могут быть представлены в виде графических конструкций и требуют текстового выражения. Визуальные средства дополняются специальными программами – «скриптами», написанными на различных языках программирования.

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

Так, например, фирма IBM наиболее полно реализовала концепцию визуального программирования в среде VisualAge Smalltalk.

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

Поддержка графического интерфейса, предоставляемая готовыми компонентами, отвечает CUA (Common User Access) спецификациям и содержит ряд расширений для организации гибкого ввода-вывода в сложных формах и таблицах. Библиотека готовых компонент предоставляет также поддержку устройств мультимедиа, коммуникаций через протоколы APPC, TCP/IP, NetBIOS, программных интерфейсов CICS External Call Interface, EHLLAPI, Message Queue Interface (MQI), работу с реляционными базами данных семейств DB2, Oracle, Sybase и многое другое.

Фирма Borland Software Corporation традиционно развивает интегрированную среду программирования, имеющую несомненный успех на рынке профессиональных программных продуктов. Эта среда всегда поддерживала методы визуального программирования, предлагала разработчику мощные библиотеки, интерактивные мастера-построители, готовые элементы графического интерфейса.

Основы визуального программирования

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

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

Сегодня принято визуализировать интерфейсы программного обеспечения. Визуализация снимает проблемы «общения» пользователем с программным продуктом. Графические изображения на элементах управления позволяют пользователю интуитивно разбираться в назначении этих элементов.

Возможно, именно наличие визуальных средств построения интерфейсов в таких языках, как Microsoft Visual Basic и Delphi, а также создаваемые с помощью этих языков визуальные программные интерфейсы, закрепили за ними термин «визуальное программирование». Безусловно, существует много других аналогичных продуктов (Visual C++, Borland C++ начиная с версии 4, Symantec Visual Cafe, C++ Builder и др.), но они не смогли завоевать такой популярности, как Visual Basic и Delphi. Именно благодаря Visual Basic, мир узнал о возможности визуального построения интерфейсов программ для Windows.

В Visual Basic и Delphi выполняется визуальное построение интерфейса программы, но не самого кода. Определяющими элементами процесса визуализации являются:

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

¾ Окно инструментов (Tool B ox) – окно, содержащее набор элементов, из которых строится визуальная модель. Обычно элементы разделяются по их назначению на отдельные группы, размещающиеся на отдельных закладках окна инструментов.

¾ Окно свойств (Property B ox) – окно, в котором отображаются параметры (свойства) выбранного элемента визуальной модели. Термин «свойство» пришел из объектно-ориентированного программирования и обозначает параметр объекта (элемента).

Визуализируемой моделью в Visual Basic и Delphi является окно (форма, диалог) Windows, а не код программы.

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

В качестве возможного варианта реализации такой визуальной разработки кода программы можно рассматривать табличную форму записи макросов в Microsoft Access (рис.8.1). В этом случае визуализируемая модель – макрос-программа управления данными в базе данных или управления процессом отображения данных. Команды макроса находятся в разных строчках записи макроса. Окно свойств находится непосредственно под списком команд. Окна инструментов в привычном виде нет, но оно реализовано в виде раскрывающегося списка с командами, т.е. в каждой строке записи макроса в отдельности имеется возможность выбора или смены текущей команды макроса. Это и есть визуализированная форма записи программы.

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Рис.8.1. Визуализация разработки кода программы

Присоединение модуля, созданного средствами визуального программирования выполняется также визуальными средствами – в режиме конструирования (рис.8.2).

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Рис.8.2. Средства визуального программирования

Другим примером визуализации создания кода программы может служить процесс создания макро программ в Microsoft Excel (рис.8.3).

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Рис.8.3. Диалог MS Excel при автоматической записи действий пользователя

Окно свойств Properties присутствуют, но не в самом рабочем листе, а в среде VBA (рис.8.4). Окно инструментов при выборе объекта Module выключается, но в случае редактирования программного кода для каждого программного объекта появляется раскрывающийся список со свойствами, методами и событиями, т.е. в каждой строке записи макроса в отдельности имеется возможность выбора или смены текущей команды макроса.

Пример получаемой программы, вызов которой в рабочем листе Excel можно организовать по командной кнопке или непосредственно по имени записанного макроса, приведен на рис.8.4.

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Рис.8.4. Результат автоматической записи программного кода как протокола действий пользователя

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Методы элементов программируются пользователем «вручную», но и тут имеются визуальные помощники: после двойного щелчка по элементу управления в конструкторе автоматически открывается окно редактора кода и автоматически пишется заголовок процедуры обработки события. Боле того, после набора имени объекта автоматически появляется список свойств и методов объекта (рис.8.6). Таким образом, процесс написания программного кода также частично визуализирован.

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Рис.8.6. Визуализация свойств и методов объекта

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

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Рис.8.7. Пример стандартного диалога

Можно ли сказать что визуальное программирование это построение графического интерфейса пользователя

Рис.8.8. Программирование стандартных элементов средствами Visual Studio

Выводы

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

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

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

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

Вопросы для самопроверки

1. В чем принципиальное отличие визуального программирования от любого другого программирования?

2. Возможно, ли средствами визуального программирования создать законченное программное приложение?

3. Какие достоинства и недостатки присущи визуальному программированию?

4. Какие языки программирования поддерживают визуальный стиль программирования?

5. В каких средах программирования реализован визуальный стиль программирования?

6. Какие фирмы-разработчики пакетов программирования имеют наиболее удачные решения для визуального программирования?

7. Можно ли сказать, что визуальное программирование – это построение графического интерфейса пользователя?

8. Какие элементы процесса визуализации вы можете перечислить?

9. Что такое «визуализируемая модель»?

10. Приведите примеры визуального программирования в известных вам программных средах.

Литература

2. Подлин Ш. Освой самостоятельно программирование для Micrsoft Excel 2000. Пер. с англ.: Уч. Пос. – М.: Издательский дом «Вильямс», 2006. – 304 с.: ил.– Парал. тит. англ.

3. Харитонова И.А., Михеева В.Д. Microsoft ACCESS 2000: Разработка приложений. – СПб.: БХВ-Петербург, 2004. – 832 с.: ил.

4. Одинцев И.О. Профессиональное программирование. Системный подход. – СПб.: БХВ-Петербург, 2003. – 512 с.: ил.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *