Визуальное программирование: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Alexkowel (обсуждение | вклад) →Графические, или визуальные, языки программирования: Добавлена информация по визуальному фреймворку Verge3D Puzzles |
Vcohen (обсуждение | вклад) |
||
(не показано 37 промежуточных версий 20 участников) | |||
Строка 1: | Строка 1: | ||
{{Орисс|дата=25 мая 2011}} |
{{Орисс|дата=25 мая 2011}} |
||
{{переработать}} |
{{переработать}} |
||
''' |
'''Визуа́льное программи́рование''' — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста. Некоторые авторы представляют визуальное программирование как следующий этап развития языков программирования (следующее поколение). В настоящее время визуальному программированию стали уделять больше внимания, в том числе в связи с развитием мобильных сенсорных устройств (КПК, планшеты). Визуальное программирование может применяться для создания программ с [[Графический интерфейс пользователя|графическим интерфейсом]], но не только. Существуют, например, и успешно используются в промышленности, средства графического программирования встроенных приложений для микроконтроллеров. |
||
Есть и среды визуального программирования, позволяющие создавать [[Веб-приложения]] для браузеров. |
|||
Среда визуального программирования позволяет создать [[Текстовый интерфейс пользователя|консольное приложение]] (программа без графического интерфейса и без вывода сообщений в консоль) для программирования микроконтроллеров, программируемых микросхем. |
|||
Необходимо различать: |
Необходимо различать: |
||
* графический язык программирования |
* графический язык программирования |
||
* [[визуальные средства разработки]] |
* [[визуальные средства разработки]] (например, средства проектирования интерфейса, [[CASE]]-система, часть [[SCADA]]-системы). |
||
Языки визуального программирования могут быть классифицированы по разным признакам<ref>{{Книга|автор=А.А. Тюгашев|заглавие=Графические языки программирования и их применение в системах управления реального времени|ответственный=|год=2009|издание=Изд-во Самарского научного центра РАН|место=Самара|издательство=|страницы=|страниц=98|isbn=978-5-93424-454-6}}</ref>. Например, по сфере основного применения: учебные; используемые в индустрии; исследовательские. По основному моделируемому аспекту: языки описания структуры программной системы; языки описания потока управления; языки описания потоков данных; языки описания поведения (процессов); языки для построения графического интерфейса. Предлагается и такая классификация: |
|||
Языки визуального программирования могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы: |
|||
* |
* Языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами. Пример: [[Скретч (язык программирования)|Скретч]]. |
||
* |
* Редакторы форм, позволяющие ставить мышью части пользовательского интерфейса и настраивать их свойства. Примеры: [[Visual Basic]], [[Delphi (среда разработки)|Delphi]] и [[C++ Builder]] фирмы [[Borland]], [[C Sharp|MS С#]], [[Microsoft Access|MS Access]], C++ посредством использования [[wxSmith]] в составе свободной кроссплатформенной среды разработки [[Code::Blocks]]. |
||
* |
* Языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Примеры: редакторы взаимосвязей в реляционных БД, [[UML]]. |
||
В |
В ряде работ подход визуального программирования связан с [[программирование потоков данных|программированием потоков данных]] ({{lang-en|dataflow programming}}). Некоторые средства визуального программирования поддерживают отладку программ, автоматизированную генерацию и документирование. Языки потоков данных могут позволять [[автоматическое распараллеливание]], что может стать большим достижением программирования.<ref>{{статья |заглавие=Advances in dataflow programming languages |издание=ACM Computing Surveys (CSUR) |том=36 |номер=1 |страницы=1—34 |ссылка=http://www.ittc.ku.edu/~rsass/rcreading/johnston04.pdf |accessdate=2007-03-31 |doi=10.1145/1013208.1013209 |deadlink=yes |archiveurl=https://web.archive.org/web/20070927094639/http://www.ittc.ku.edu/~rsass/rcreading/johnston04.pdf |archivedate=2007-09-27 |язык=und |автор=Johnston, W.M.; Hanna, J.R.P. and Millar, R.J. |год=2004}} {{Cite web |url=http://www.ittc.ku.edu/~rsass/rcreading/johnston04.pdf |title=Архивированная копия |access-date=2009-05-05 |archive-date=2007-09-27 |archive-url=https://web.archive.org/web/20070927094639/http://www.ittc.ku.edu/~rsass/rcreading/johnston04.pdf |deadlink=unfit }}</ref> |
||
При этом можно назвать и недостатки визуального программирования. Статья Майка Хэдлоу<ref>{{Cite web |url=https://habr.com/ru/company/edison/blog/432334/ |title=Визуальное программирование — почему это плохая идея / Блог компании Edison / Хабр<!-- Заголовок добавлен ботом --> |access-date=2020-08-22 |archive-date=2020-09-22 |archive-url=https://web.archive.org/web/20200922221020/https://habr.com/ru/company/edison/blog/432334/ |deadlink=no }}</ref> говорит о фундаментальных ограничениях визуального программирования: |
|||
* Ограничения визуального интерфейса могут запутывать разработчика даже больше, чем текст. |
|||
* С повышением сложности программ программист начинает заниматься абстракцией и снижением связности, и уровень программиста во многом определяется тем, насколько удачно это получилось. Визуальные средства редко имеют развитую поддержку данного процесса. |
|||
* Для текстового представления в настоящее время существует множество инструментов: [[система управления версиями|системы управления версиями]], [[автодополнение]] и пр. |
|||
== Графические, или визуальные, языки программирования == |
== Графические, или визуальные, языки программирования == |
||
{{список примеров}} |
{{список примеров}} |
||
<!-- Это незаконченный список, который может быть никогда не будет удовлетворять каким-либо стандартам по своей завершенности. Вы можете дополнить его, ссылаясь на источники. --> |
<!-- Это незаконченный список, который может быть никогда не будет удовлетворять каким-либо стандартам по своей завершенности. Вы можете дополнить его, ссылаясь на источники. --> |
||
* [[App Inventor]] — |
* [[App Inventor]] — среда визуальной разработки android-приложений, требующая от пользователя минимальных знаний программирования. |
||
* Sketchware — |
* Sketchware — среда визуальной разработки приложений для Android. |
||
* [[ДРАКОН (язык программирования)|Дракон |
* [[ДРАКОН (язык программирования)|Дракон]] — графический язык программирования, имеющий корни в программировании ракетно-космической техники («[[Буран (космический корабль)|Буран]]», "[[Морской старт]] "). Существуют Дракон-редакторы, включая бесплатные. |
||
* Язык последовательных функциональных схем [[SFC]] (Sequential Function Chart) — [[графический язык программирования]] широко используется для программирования промышленных логических контроллеров [[программируемый логический контроллер|PLC]]. |
* Язык последовательных функциональных схем [[SFC]] (Sequential Function Chart) — [[графический язык программирования]] широко используется для программирования промышленных логических контроллеров [[программируемый логический контроллер|PLC]]. |
||
* [[HiAsm]] — это язык и среда разработки приложений, которая позволяет создавать приложения, управляя их моделью с помощью интуитивно понятного графического интерфейса [http://hiasm.com/ HiAsm]. |
* [[HiAsm]] — это язык и среда разработки приложений, которая позволяет создавать приложения, управляя их моделью с помощью интуитивно понятного графического интерфейса [http://hiasm.com/ HiAsm]. |
||
Строка 30: | Строка 34: | ||
* Язык «G» системы [[LabVIEW]] — один из самых распространенных языков разработки программ, работающих с некомпьютерным оборудованием. |
* Язык «G» системы [[LabVIEW]] — один из самых распространенных языков разработки программ, работающих с некомпьютерным оборудованием. |
||
* [[VisSim]] — это визуальный язык программирования предназначенный для моделирования [[динамическая система|динамических систем]], а также проектирования, базирующегося на моделях, для встроенных [[микропроцессор]]ов. |
* [[VisSim]] — это визуальный язык программирования предназначенный для моделирования [[динамическая система|динамических систем]], а также проектирования, базирующегося на моделях, для встроенных [[микропроцессор]]ов. |
||
* [[Скретч (язык программирования)|Скретч]] — это визуальная объектно-ориентированная среда и язык программирования для обучения школьников младших и средних классов. |
|||
* [[Блокли]] — это библиотека для создания среды визуального программирования, которая может быть встроена в произвольное веб-приложение. |
* [[Блокли]] — это библиотека для создания среды визуального программирования, которая может быть встроена в произвольное веб-приложение. |
||
⚫ | |||
* [http://kibor-bot.com/stat/visual-programming.php Кибор] — Интегрированная среда создания бот программ автоматизации. Обладает визуальным инструментом для построения программ с помощью блок схем. Для визуального программирования требуется минимум навыков программирования. |
* [http://kibor-bot.com/stat/visual-programming.php Кибор] — Интегрированная среда создания бот программ автоматизации. Обладает визуальным инструментом для построения программ с помощью блок схем. Для визуального программирования требуется минимум навыков программирования. |
||
⚫ | |||
* Creative+ — общее название для нескольких событийно-ориентированных языков программирования, созданных в Minecraft. |
|||
== Визуальные средства разработки == |
== Визуальные средства разработки == |
||
{{список примеров}} |
{{список примеров}} |
||
# [[App Inventor]], среда визуальной разработки android-приложений, требующая от пользователя минимальных знаний программирования |
# [[App Inventor]], среда визуальной разработки android-приложений, требующая от пользователя минимальных знаний программирования |
||
# [http://www.agentsheets.com/ AgentSheets], легкая в использовании авторская система для игр и научных расчётов |
# [https://web.archive.org/web/20151113073857/http://www.agentsheets.com/ AgentSheets], легкая в использовании авторская система для игр и научных расчётов |
||
# [[Alice (язык программирования)|Alice]]<!-- язык программирования? --> |
# [[Alice (язык программирования)|Alice]]<!-- язык программирования? --> |
||
# [[Automator]] |
# [[Automator]] |
||
Строка 48: | Строка 52: | ||
# [[ДРАКОН]], язык, созданный для разработки советского космического корабля [[Буран (космический корабль)|Буран]] |
# [[ДРАКОН]], язык, созданный для разработки советского космического корабля [[Буран (космический корабль)|Буран]] |
||
# [[Visual Prolog]], система визуального программирования объектно-ориентированного расширения языка программирования PDC Prolog. |
# [[Visual Prolog]], система визуального программирования объектно-ориентированного расширения языка программирования PDC Prolog. |
||
== См. также == |
|||
* [[Low-code]] |
|||
== Примечания == |
== Примечания == |
||
Строка 54: | Строка 61: | ||
== Ссылки == |
== Ссылки == |
||
* [http://appinventor.mit.edu appinventor.mit.edu — Официальный сайт App Inventor] |
* [http://appinventor.mit.edu appinventor.mit.edu — Официальный сайт App Inventor] |
||
* [http://sites.google.com/site/purebuilder/ PureBuilder] — среда визуальной разработки, в настоящее время разрабатывается |
|||
{{rq|wikify}} |
{{rq|wikify}} |
||
{{Языки программирования}} |
|||
[[Категория:Программирование]] |
[[Категория:Программирование]] |
||
[[Категория:Языки визуального программирования| |
[[Категория:Языки визуального программирования| ]] |
Текущая версия от 19:29, 15 сентября 2024
Возможно, эта статья содержит оригинальное исследование. |
Эта статья или раздел нуждается в переработке. |
Визуа́льное программи́рование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста. Некоторые авторы представляют визуальное программирование как следующий этап развития языков программирования (следующее поколение). В настоящее время визуальному программированию стали уделять больше внимания, в том числе в связи с развитием мобильных сенсорных устройств (КПК, планшеты). Визуальное программирование может применяться для создания программ с графическим интерфейсом, но не только. Существуют, например, и успешно используются в промышленности, средства графического программирования встроенных приложений для микроконтроллеров. Есть и среды визуального программирования, позволяющие создавать Веб-приложения для браузеров.
Необходимо различать:
- графический язык программирования
- визуальные средства разработки (например, средства проектирования интерфейса, CASE-система, часть SCADA-системы).
Языки визуального программирования могут быть классифицированы по разным признакам[1]. Например, по сфере основного применения: учебные; используемые в индустрии; исследовательские. По основному моделируемому аспекту: языки описания структуры программной системы; языки описания потока управления; языки описания потоков данных; языки описания поведения (процессов); языки для построения графического интерфейса. Предлагается и такая классификация:
- Языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами. Пример: Скретч.
- Редакторы форм, позволяющие ставить мышью части пользовательского интерфейса и настраивать их свойства. Примеры: Visual Basic, Delphi и C++ Builder фирмы Borland, MS С#, MS Access, C++ посредством использования wxSmith в составе свободной кроссплатформенной среды разработки Code::Blocks.
- Языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Примеры: редакторы взаимосвязей в реляционных БД, UML.
В ряде работ подход визуального программирования связан с программированием потоков данных (англ. dataflow programming). Некоторые средства визуального программирования поддерживают отладку программ, автоматизированную генерацию и документирование. Языки потоков данных могут позволять автоматическое распараллеливание, что может стать большим достижением программирования.[2]
При этом можно назвать и недостатки визуального программирования. Статья Майка Хэдлоу[3] говорит о фундаментальных ограничениях визуального программирования:
- Ограничения визуального интерфейса могут запутывать разработчика даже больше, чем текст.
- С повышением сложности программ программист начинает заниматься абстракцией и снижением связности, и уровень программиста во многом определяется тем, насколько удачно это получилось. Визуальные средства редко имеют развитую поддержку данного процесса.
- Для текстового представления в настоящее время существует множество инструментов: системы управления версиями, автодополнение и пр.
Графические, или визуальные, языки программирования
[править | править код]Список примеров в этой статье не основывается на авторитетных источниках, посвящённых непосредственно предмету статьи. |
- App Inventor — среда визуальной разработки android-приложений, требующая от пользователя минимальных знаний программирования.
- Sketchware — среда визуальной разработки приложений для Android.
- Дракон — графический язык программирования, имеющий корни в программировании ракетно-космической техники («Буран», "Морской старт "). Существуют Дракон-редакторы, включая бесплатные.
- Язык последовательных функциональных схем SFC (Sequential Function Chart) — графический язык программирования широко используется для программирования промышленных логических контроллеров PLC.
- HiAsm — это язык и среда разработки приложений, которая позволяет создавать приложения, управляя их моделью с помощью интуитивно понятного графического интерфейса HiAsm.
- В SFC программа описывается в виде схематической последовательности шагов, объединённых переходами.
- LD — язык релейно-контактных схем.
- FBD — язык Функциональных блоковых диаграмм.
- Язык CFC (Continuous Flow Chart) — ещё один высокоуровневый язык графического программирования. CFC — это дальнейшее развития языка FBD. CFC был специально создан для проектирования систем управления непрерывными технологическими процессами.
- Язык «G» системы LabVIEW — один из самых распространенных языков разработки программ, работающих с некомпьютерным оборудованием.
- VisSim — это визуальный язык программирования предназначенный для моделирования динамических систем, а также проектирования, базирующегося на моделях, для встроенных микропроцессоров.
- Блокли — это библиотека для создания среды визуального программирования, которая может быть встроена в произвольное веб-приложение.
- Кибор — Интегрированная среда создания бот программ автоматизации. Обладает визуальным инструментом для построения программ с помощью блок схем. Для визуального программирования требуется минимум навыков программирования.
- Verge3D Puzzles — основанный на Блокли фреймворк для программирования интерактивных 3D-приложений, работающих в браузере.
- Creative+ — общее название для нескольких событийно-ориентированных языков программирования, созданных в Minecraft.
Визуальные средства разработки
[править | править код]Список примеров в этой статье не основывается на авторитетных источниках, посвящённых непосредственно предмету статьи. |
- App Inventor, среда визуальной разработки android-приложений, требующая от пользователя минимальных знаний программирования
- AgentSheets, легкая в использовании авторская система для игр и научных расчётов
- Alice
- Automator
- Befunge, эзотерический текстовый язык программирования, в котором команды размещаются графически в текстовом файле
- HiAsm, конструктор программ
- LabVIEW, среда графического программирования, разработанная для инженеров и учёных
- ROBO Pro
- Thyrd, свободная, открытая графическая среда программирования (иерархия графических примитивов) на базе языка Forth (Форт)
- ДРАКОН, язык, созданный для разработки советского космического корабля Буран
- Visual Prolog, система визуального программирования объектно-ориентированного расширения языка программирования PDC Prolog.
См. также
[править | править код]Примечания
[править | править код]- ↑ А.А. Тюгашев. Графические языки программирования и их применение в системах управления реального времени. — Изд-во Самарского научного центра РАН. — Самара, 2009. — 98 с. — ISBN 978-5-93424-454-6.
- ↑ Johnston, W.M.; Hanna, J.R.P. and Millar, R.J. Advances in dataflow programming languages (неопр.) // ACM Computing Surveys (CSUR). — 2004. — Т. 36, № 1. — С. 1—34. — doi:10.1145/1013208.1013209. Архивировано 27 сентября 2007 года. Архивированная копия . Дата обращения: 5 мая 2009. Архивировано 27 сентября 2007 года.
- ↑ Визуальное программирование — почему это плохая идея / Блог компании Edison / Хабр . Дата обращения: 22 августа 2020. Архивировано 22 сентября 2020 года.
Ссылки
[править | править код]Для улучшения этой статьи желательно:
|