Платформа для создания визуального языка программирования - PullRequest
11 голосов
/ 20 февраля 2010

Я заинтересован в создании визуального языка программирования, который может помочь непрограммистам (например, детям) писать простые программы, подобно Labview или Simulink, позволяющим инженерам соединять функциональные блоки друг с другом, не зная, как они построены внутри. Это называется программированием демонстрацией? Какие примеры приложений? Какая была бы идеальная платформа, которая может позволить мне сделать это (это может быть настольный компьютер или веб-приложение)

Ответы [ 10 ]

7 голосов
/ 31 марта 2016

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

Краткое резюме:

  • Blockly находился под влиянием App Inventor, который основывался на Scratch
  • App Inventor теперь использует Blockly (?!)
  • То же самое делает микробит Би-би-си
  • Сам Blockly запускается в браузере (обычно) с использованием javascript
  • Ориентирован на (визуальный) язык разработчиков
  • независимые от языка блоки и генераторы
  • включает в себя фабрику блоков - которая позволяет визуальному программированию создавать новые блоки (?!) - я сам не нашел это полезным ... кроме как для понимания
  • включает генераторы для отображения блоков в javascript / python

например. Эти блоки: enter image description here

Сгенерировал этот код: enter image description here

Подробнее см. https://developers.google.com/blockly/about/showcase

С наилучшими пожеланиями - Энди

4 голосов
/ 21 февраля 2010

Приключение, в которое вы собираетесь отправиться, - это разработка и реализация языка визуального программирования . Я не знаю ни одного хорошего учебника в этой области, но есть конференция IEEE и рецензируемый журнал, посвященный этой области. Маргарет Бернетт из Университета штата Орегон, пользующийся большим авторитетом, собрала библиографию по языкам визуального программирования ; Я предлагаю вам начать там.

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

3 голосов
/ 24 августа 2015

Существует новая библиотека с открытым исходным кодом: TUM.CMS.VPLControl. Получите это здесь . Эта библиотека может служить основой для ваших целей.

enter image description here

3 голосов
/ 21 апреля 2011

Запрещенной формой программирования является программирование потоков данных (он же основано на потоке), когда приложение построено из компонентов с помощью , соединяющих их порты . В зависимости от платформы и назначения компоненты являются простыми (например, селектор пути) или сложными (например, преобразователь изображения). Есть несколько систем потока данных (только я сделал две), некоторые из них не имеют визуального редактора, некоторые из них являются просто частью более крупной системы, а некоторые даже не упоминают подход. (Вы думали, что make , MS-Excel и Unix Shell pipe являются чем-то вроде этого?)

У всех современных цифровых синтезаторов, основанных на подходе к потоку данных, есть удивительный визуальный пример: http://www.youtube.com/watch?v=0h-RhyopUmc

AFAIK, нет системы потока данных для образовательных целей. Для получения дополнительной информации, вы должны проверить этот сайт: http://flowbased.org/start

2 голосов
/ 20 февраля 2010

MIT написал Scratch, который очень похож на то, что вы ищете.

http://scratch.mit.edu/

1 голос
/ 02 августа 2018

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

Существует визуальное кодирование с именем " CoBlocks ".

enter image description here

Учащиеся могут анимировать и кодировать свои творения с помощью « CoBlocks », прежде чем исследовать их и делиться ими в мобильной VR. Также можно использовать JavaScript или TypeScript.

1 голос
/ 03 августа 2016

Существует Snap , написанный UC Berkeley. Это еще один вариант, чтобы понять VPL.

0 голосов
/ 19 августа 2018

Редактор блоков, который больше всего поддерживал и разрабатывал для микробита: microsoft makecode

0 голосов
/ 11 июля 2013

Скретч - ужасный язык для обучения программированию (я предвзят, но заценим Pipes Visual Programming Language )

То, что вы хотите сделать, очень похоже на программирование функциональных блоков (как в языке программирования функциональных блоков IEC 61499 и других VPL для разработки мехатроники). Уже есть много исследований VPL, поэтому вы можете убедиться, что A) то, что вы пытаетесь сделать, имеет аудиторию, и B) то, что вы пытаетесь сделать, может быть легко выполнено.

Звучит немного отрицательно по тону, но хорошее место, чтобы начать проверять правдоподобность вашей идеи, прочитав короткую запись в блоге Давора Бабича на http://blog.davor.se/blog/2012/09/09/Visual-programming/

Что касается используемой платформы - вы можете использовать практически все, что угодно, просто убедитесь, что она имеет хорошие графические библиотеки (вы можете использовать Java с Swing - если вам нравится боль - или Python с TKinter) - все зависит от того, что вы знакомы с. Просто помните, для кого вы хотите в конечном итоге запустить язык (если это iOS, то посмотрите на использование Objective-C и т. Д.)

0 голосов
/ 20 февраля 2010

Если вы хотите пойти дальше, то я предлагаю платформу, которая используется для реализации Scratch (которая уже делает то, что вы хотите, IMHO), то есть Squeak Smalltalk. Среда Squeak была разработана специально для визуального программирования. Это бесплатно, а синтаксис Smalltalk можно выучить за полчаса. Изучение гигантской библиотеки классов может занять немного больше времени.

...