Visuelle Programmiersprache

Im Computer, a visuelle Programmiersprache (Visuelles Programmiersystem, Vpl, oder, VPS) ist jeder Programmiersprache Dadurch können Benutzer erstellen Programme Durch Manipulation von Programmelementen grafisch anstatt sie anzugeben textuell.[1] Eine VPL ermöglicht die Programmierung mit visuellen Ausdrücken, räumlichen Anordnungen von Text und grafischen Symbolen, die entweder als Elemente von verwendet werden Syntax oder Sekundärnotation. Zum Beispiel viele VPLs (bekannt als Datenfluss oder Diagrammatische Programmierung)[2][3] basieren auf der Idee von "Boxen und Pfeilen", in denen Kästchen oder andere Bildschirmobjekte als Entitäten behandelt werden, die durch Pfeile, Linien oder Bögen verbunden sind, die Beziehungen darstellen.
Definition
VPLs können nach Art und Ausmaß des verwendeten visuellen Ausdrucks weiter eingestuft werden, in iconbasierte Sprachen, formbasierte Sprachen und Diagrammsprachen. Visuelle Programmierumgebungen bieten grafische oder ikonische Elemente, die von Benutzern auf interaktive Weise gemäß einer spezifischen räumlichen Grammatik für die Programmkonstruktion manipuliert werden können.
Das allgemeine Ziel von VPLs ist es, die Programmierung für Anfänger zugänglicher zu machen und Programmierer auf drei verschiedenen Ebenen zu unterstützen[4]
- Syntax: VPLS verwenden Symbole/Blöcke, Formulare und Diagramme, die versuchen, das Potenzial von syntaktischen Fehlern zu reduzieren oder sogar zu beseitigen, um die Anordnung von Programmierprimitiven zur Erstellung gut geformter Programme zu erstellen.
- Semantik: VPLs können einige Mechanismen zur Verfügung stellen, um die Bedeutung von Programmierprimitiven offenzulegen. Dies könnte Hilfefunktionen umfassen, die Dokumentationsfunktionen für Programmiersprachen bereitstellen.
- Pragmatik: VPLs unterstützen die Studie darüber, was Programme in bestimmten Situationen bedeuten. Mit dieser Unterstützung können Benutzer Artefakte mit einem VPL in einen bestimmten Zustand einsetzen, um zu untersuchen, wie das Programm auf diesen Zustand reagiert. Beispiele: in Agentenblätter oder AgentCubes Benutzer können Spiele oder Simulationen in einen bestimmten Zustand einstellen, um zu sehen, wie das Programm reagiert. Mit dem Thymio Programmiersprache Benutzer können einen Roboter in einen bestimmten Zustand bringen, um zu sehen, wie er reagiert, d. H. Die Sensoren werden aktiviert.
Aktuelle Entwicklungen versuchen, den visuellen Programmieransatz mit zu integrieren Datenflow -Programmierung Sprachen, um entweder einen sofortigen Zugriff auf die Programmstaat, was zu Online -Debugging oder automatischer Programmgenerierung und -Dokumentation führt. Datenflowsprachen erlauben auch Automatische Parallelisierung, was wahrscheinlich zu einer der größten Programme der Zukunft der Zukunft wird.[5]
Das Visual Basic, Visuell c#, Visuell j# usw. Sprachen der Microsoft Visual Studio Ide sind keine visuellen Programmiersprachen: Die Darstellung von Algorithmen usw. ist textuell, obwohl die IDE die Bearbeitungs- und Debugging -Aktivitäten mit einer reichhaltigen Benutzeroberfläche verschönert. Eine ähnliche Überlegung gilt für die meisten anderen Schnelle Anwendungsentwicklung Umgebungen, die normalerweise a unterstützen Formarchitektur und manchmal haben auch grafische Tools, um den Kontrollfluss und Datenabhängigkeiten zu veranschaulichen (aber nicht definieren).
Parser Für visuelle Programmiersprachen können mit Verwendung implementiert werden Grammatiken für Graphen.[6][7]
Liste der visuellen Sprachen
Das Folgende enthält eine Liste bemerkenswerter visueller Programmiersprachen.
Lehrreich
- AgentCubes, 3D- und 2D -Spieldesign- und Simulationsdesign -Computer -Denkwerkzeuge.
- Agentenblätter, Game Authoring und Computational Science Authoring Tool.
- Alice, eine objektbasierte Sprache, die zum Programmieren von 3D -Umgebungen verwendet wird.
- Analyticazum Aufbau und Analysieren quantitativer Modelle für Entscheidungs- und Risikoanalyse.
- App -Erfinder für Android, ein Werkzeug zum Erstellen Android Anwendungen basierend auf Blockisch und Kawa.
- Blockisch, eine clientseitige Bibliothek für die Programmiersprache JavaScript Zum Erstellen von blockbasiertem visuellen Programmiersprachen (VPLS) und Editoren
- Blasezur Erstellung von produktionsbereiten Web Applikationen.
- Catrobat, blockbasierte visuelle Programmiersprache für Animationen, Spiele
- Flowgorithmus, erstellt ausführbare Flussdiagramme, die in mehrere Sprachen konvertiert werden können.
- Hopscotch, ein iPad App- und visuelle Programmiersprache zum Erstellen von Touchscreen-orientierten mobilen Anwendungen.
- Kodu, ein visuelles Programmierwerkzeug für Logo.
- Kojo, eine Programmiersprache, Ide, und Lernumgebung.
- Mblock, eine Erweiterung von Kratzern für Arduino Hardware -Schnittstellen. Entwickelt von MakeBlock.
- Öffnen Sie Roberta, Online -Programmierumgebung von Fraunhofer IAIs, die für Kinder entwickelt wurde.
- Raubvogelein Produkt der USAFzum Zeichnen von ausführbaren Flussdiagrammen.
- Kratzenein Produkt von MITfür Kinder in K-12- und After-School-Programmen.
- Scratchjr, eine Interpretation von Kratzern, die hauptsächlich für jüngeres Publikum (5-7-jährige Kinder) entworfen wurden.
- Schnapp!, eine Browser-basierte Neuauflagen von BYOBund Erweiterung von Kratzen, mit erstklassigen Verfahren und Listen. Verwendet für den Unterricht bei UC Berkeley.
- Stagecast -Schöpfer, ein Java-basierter Lehrsystem.
- Starlogo, ein Agentenbasiert Simulationssprache entwickelt von Mitchel Resnick, Eric Kloperferund andere bei MIT Media Lab. Eine Erweiterung der Logo Programmiersprache (a Dialekt von Lispeln).
- Toontalk, Programmiersystem für Kinder.
- Visuelle Logikzum Erstellen ausführbarer Flussdiagramme.
- Viple Visuelle IoT/Robotics Programmiersprache Umgebung
Multimedia
- Audiomulch, eine Audio -Signal -Flow -basierte Sound- und Musikerstellung Umgebung
- Bidula, eine modulare Knoten- und Patch -Kabelumgebung zur Erstellung interaktiver Computermusik und Multimedia (Windows, MacOS).[8]
- Mixer (Software), das Open Source 3D -Grafik Paket beinhaltet Knotendiagramme zum Bauen Shader,[9] Verbundwerkstoffe[10] und Texturen,[11] Nicht-zerstörerische Geometrie.[12][13]
- Cameleon, grafische funktionale Sprache
- Clickteam'S The Games Factory/Multimedia Fusion Series, Umgebungen für visuell entwickelnde Spiele
- Dynamo, eine generative Modellierungsschnittstelle für Autodesk Revit
- Filter forge Knotenbasierte Filtergenerierung für die Bildverarbeitung.
- Houdini (Software) VFX, Modellierung und Animationssoftware.
- GenerativeComponents, eine parametrische CAD -Software, die von entwickelt wurde von Bentley -Systeme
- Heuschrecke 3d, eine generative Modellierungsschnittstelle für Rhinoceros 3d
- KYMA (Sounddesign -Sprache), Eine visuelle Programmiersprache für Sounddesign, die von Musikern, Forschern und Sounddesigner verwendet wird.
- Mama (Software) - Eine Programmiersprache und eine IDE zum Aufbau von 3D -Animationen und -spielen
- Max (Software), visuelle Programmierumgebung zum Aufbau interaktiver, Echtzeit-Musik- und Multimedia-Anwendungen
- Nodal, eine knotenbasierte generative Programmiersoftwareanwendung für Musikkomposition
- Nuke, eine objektbasierte visuelle Programmiersoftware für visuelle Effekte Komposition durch Die Gießerei Angetrieben von TCL, Python und Blink-Skript.
- OpenMusic, eine visuelle Programmiersprache für Musikkomposition (basierend auf Gemeinsames Lisp -Objektsystem (CLOS)) Anwendungen und mobile Anwendungen
- Reine Daten (PD) ist eine visuelle Programmiersprache, die zum Erstellen interaktiver Computermusik und Multimedia -Arbeiten entwickelt wurde.
- Quarzkomponist, eine Sprache für die Verarbeitung und Renderung grafischer Daten (Mac OS)
- Wiederholung, eine DSP- und Mittelprozesssprache von Einheimische Instrumente
- Scala Multimedia Authoring Suite und komplettes Multimedia -System für Amigaos und Windows
- Softimage, mit ice interaktiver kreativer Umgebung.
- Synthitit, ein Synthesizer -Konstruktionstool mit einem VPL.
- Touchdesigner, visuelle Programmiersprache für Echtzeit-Multimedia-Inhalte
- Virtools, eine Middleware, die verwendet wird, um interaktive 3D -Erlebnisse zu erstellen
- VVVV, ein Allzweck-Toolkit mit einem besonderen Fokus auf die Echtzeit-Video-Synthese und das Programmieren großer Medienumgebungen mit physischen Schnittstellen, Echtzeit-Bewegungsgrafiken, Audio und Videos.
- Wirefusion, visuelle Programmierumgebung zum Erstellen interaktiver 3D -Webpräsentationen
Videospiele
- Babylon.js Hat einen Knotenmaterialeditor, mit dem Shader, prozedurale Texturen, Partikelsysteme und Nachverarbeitungseffekte erstellt werden können.[14]
- Blender Game Engine (Grafischer Logik -Editor)
- Clickteam Fusion, eine 2D -Spielerstellungssoftware mit Event -Editor -System, die von Clctteam Sarl entwickelt wurde und ursprünglich als Klik N 'Play, The Games Factory und Multimedia Fusion 2 bekannt ist
- Konstruieren 2-3 sind HTML5-basierte 2D-Spielredakteure, die von Scirra Ltd. entwickelt wurden.
- Konstruktklassiker konstruieren ist die vorherige DirectX-basierte Open-Sourcing-Version von Konstrukt.[15][16]
- Cryengine hat eine knotenbasierte visuelle Programmiersprache namens Flowgraph.
- Träume, was auf PlayStation läuft, hat eine umfangreiche visuelle Sprache, mit der Spieler jede Art von Spiel erstellen können
- Game Builder Garage, ein 3D- und 2D -Spielerstellungstool für die Nintendo Switch, entwickelt von Nintendo.
- Gamemaker Studio, hat ein Drag & Drop -Spielerstellungssystem, das von Yoyo Games entwickelt wurde.
- Gamesalad ist ein visuelles Tool zur Erstellung von Spielen, das von Gamesalad, Inc. entwickelt wurde.
- GDevelop ist ein visuelles Tool zur Erstellung von Spielen, das von Florian Rivalen (4ian) erstellt wurde.
- Godot Mit Game Engine können Spielskripte und Grafik-Shader mit visuellen Programmiersprachen des Knotengraphs erstellt werden.
- Personalmaschine ist ein visuelles programmierbasiertes Puzzlespiel, das von entwickelt wurde von Morgen Corporation.
- Kodu, eine Software, mit der Spiele mit einer 3D -Schnittstelle programmiert wurden, die von Microsoft Research entwickelt wurde.
- Pixel Game Maker MV ist ein interface-basiertes 2D-Videospielentwicklungs-Tool.
- Hobbyraum Enthält ein Spielerstellungssystem mit einer notenbasierten visuellen Programmiersprache namens Circuits.
- Schneeglöckchen hat ein visuelles Skriptsystem.
- Stycyl, ein Tool für Videospielerstellung.
- Einheit hat ein visuelles Skriptsystem zum Zeitpunkt der ECS -Version.
- Unwirklicher Motor 4 hat eine notenbasierte visuelle Programmiersprache namens Blueprints und auch Shader.
Viele moderne Videospiele verwenden von Verhaltensbäume, die im Prinzip eine Familie einfacher Programmiersprachen sind Modellverhalten zum Nicht-Spieler-Charaktere. Die Verhaltensweisen werden als Bäume modelliert und häufig in grafischen Herausgebern bearbeitet.
Systeme / Simulation
- Analytica, eine kommerzielle visuelle Sprache für Entscheidungsmodelle basierend auf Einfluss von Diagrammen.
- BPEL (Geschäftsprozessausführungssprache)Derzeit eine grafische benutzerbasierte Programmiersprache, die zum Erstellen von Orchestrierungslogik für Daten und Webdienste verwendet wird. Es basiert auf XML, verfügt jedoch über eine grafische Schnittstelle für eine schnellere Codierung.
- Drakon, eine grafische algorithmische Sprache
- EICASLAB, eine Software -Suite mit einer grafischen Sprache zur Unterstützung des Designs von Kontrollarchitekturen
- FlowCode ist eine grafische Programmiersprache zum Programmieren eingebettete Mikroprozessoren
- Funktionsblockdiagramme, benutzt in Programmierbare Logikkontroller
- GNU Radio, ein Entwicklungs-Toolkit, das Signalverarbeitungsblöcke zur Implementierung von Software-definierten Radios und Signalverarbeitungssystemen bietet
- Knime, Der Konstanz Information Miner ist eine Open -Source -Datenanalyse-, Berichts- und Integrationsplattform
- Labor, eine grafische Sprache, die für Ingenieure und Wissenschaftler entwickelt wurde
- Leiterlogik, eine Sprache, die die Rela -Logik simuliert, die üblicherweise verwendet wird Programmierbare Logikkontroller
- Mevislabplattformübergreifend Anwendungsrahmen zum Medizinische Bildverarbeitung und Wissenschaftliche Visualisierung
- Microsoft visuelle Programmiersprache, DataFlow -Sprache für Robotik Programmierung, die eine Komponente von ist Microsoft Robotics Studio
- MindRover, ein Roboterprogrammierspiel, das eine Datenflow "Verkabelung" enthält
- Minibloq, visuelle Programmiersprache für Robotik und Arduino Kompatible Bretter
- MST -Workshop, eine interaktive visuelle Programmiersprache zum Erstellen mathematischer Lösungen, schnelles Prototyping, zweidimensionaler und dreidimensionaler Grafikanwendungen
- Knotenrot: Software -System Rapid Development Toolkit
- NXT-G, eine visuelle Programmiersprache für die Lego Mindstorms NXT Robotik -Kit
- Opendx Wissenschaftliche Datenvisualisierung unter Verwendung eines visuellen Programmiersprachen- und Datenflussmodells
- Openwire - Fügt visuelle Datenflow -Programmierfähigkeiten hinzu zu Delphi über Bibliothek für visuelle Komponenten (VCL) Komponenten und ein grafischer Redakteur (Homonymous Binärprotokoll ist nicht verwandt)
- Orange - Ein Open Source, visuelles Programmierwerkzeug für Data Miningstatistisch Datenanalyse, und maschinelles Lernen
- Outsystems Sprache, eine visuelle Modellierungssprache zur Entwicklung und Veränderung aller Ebenen von geschäftsorientierten Webanwendungen
- Profil - ein Objekt orientierte Programmierung Sprache, die ikonische Symbole verwendet, um Aktionen darzustellen, die auf Daten ergriffen werden sollen
- Ptolemäus -Projekt - Ein Projekt, das auf Modellierung und Gestaltung abzielt Echtzeit eingebettete Systeme.
- Qucs Grafische Schnittstelle zur Einrichtung der Simulation des elektronischen Schaltungssignals und des Rauschverhaltens
- Reallusion - iClone, eine 3D -Software mit Lua -Sprache und visuellem Programmierdesign
- Robo Pro, eine visuelle Programmiersprache für die Fischertechnik Robotik -Kit
- Scicos Eine grafische Sprache, die dem numerischen Analysepaket zugeordnet ist ScicosLab (ursprünglich Scilab)
- Sequentielle Funktionsdiagramm, eine Petri-netze wie Programmiersprache für Programmierbare Logikkontroller
- SimCenter Amesim, grafische Programmierumgebung für die Modellierung, Simulation und Analyse von multidomänendynamischen Systemen
- Simulink, grafische Programmierumgebung für die Modellierung, Simulation und Analyse von multidomänendynamischen Systemen
- STATEFLOW, Eine grafische Sprache, die überführungsdarstellende Statusübergangsdiagramme, Flussdiagramme, Zustandsübergangstabellen und Wahrheitstabellen enthält
- Stella, eine VPL für die Systemdynamikmodellierung
- Softimage -Eis, ein knotenbasiertes System, mit dem erstellt und geändert wird 3D -ModellePartikel simulieren und verschiedene andere Aufgaben ausführen
- VEE ist eine leistungsstarke grafische Programmierumgebung für automatisierte Test-, Mess- und erweiterte Analyse, die in der Testtechnik verwendet wird.
- Vissim, Modellierung und Simulationssprache, ermöglicht es, mathematische Modelle schnell zu machen und sie in Echtzeit auszuführen
Automatisierung
- Automator
- Cimple, Visuelle Programmiersprache von ThinkLabs zum Unterrichten von Robotik
- Fließen Eine grafische Integrationssprache, die in der verwendet wird WebMethods Plattform
- Pipeline -Pilot ist eine wissenschaftliche visuelle und dataflow -Programmiersprache und das Authoring -Tool für Die Accelrys Enterprise -Plattform.
Data Warehousing / Business Intelligence
- Ab Initioein Werkzeug für ETL Verarbeitung durch Erstellen von Grafiken
- Alteryx Designer, ein Tool für die Datenverarbeitung und -analytik integrieren Sql, R und Python.
- Apache Nifi, Software -Projekt zur Automatisierung des Datenflusss zwischen Softwaresystemen.
- IBM Cognos Business Intelligence, ist ein Beispiel für Front-End-Programme in Business Intelligence Anwendungen, die zum Generieren verwendet werden Sql Fragen zum Laufen RDBMS Datenbanken
- IBM Infosphäre -Datenspeicher, ein ETL -Tool
- Informatica PowerCenter ist ein ETL -Tool zum Design Mappings für die Datenlast in Data Warehouse -Systemen grafisch
- Microsoft SQL Server Integration Services (SSIS), eine Plattform für Datenintegration und Workflow -Anwendungen
- Pentaho -Datenintegration (PDI), früher Kettle, ein Open-Source-ETL-Tool genannt
Sonstig
- Kwikpoint, ein isotypen visueller Übersetzer von Alan Stillman erstellt
- Lava, ein experimentelles Objektorientieren Rad Sprache
- Limnor, ein Allzweck -Programmiersystem. Limnor Studio ist eine IDE für eine schnelle Softwareentwicklung.
- Morphisch (Software)erleichtert es einfacher, grafische Objekte durch direkte Manipulation und innerhalb von Programmen zu erstellen und zu bearbeiten. das Ganze Selbst (Programmiersprache) Die Programmierumgebung wird mit morphisch gebaut
- Piet, eine esoterische Sprache, das Programm ist ein Bild, dessen Pixel die Elemente der Sprache sind
- PWCT, Kostenlose Open -Source -visuelle Programmiersprache für die Softwareentwicklung
- Streambase -Systeme, Streambase EventFlow ist eine visuelle Programmiersprache für die Verarbeitung von Streaming -Ereignissen
- Webml, ist eine visuelle Sprache zum Entwerfen komplexer datenintensiver Webanwendungen, die automatisch generiert werden können
- Yahoo! Rohre ist ein visuelles Datenflussprogrammiersystem zum Verarbeiten von Webdaten[17]
- JOLLE, grafische Workflow -Sprache
Erbe
- Appware, auch bekannt als Mikon -basierte Programmierung für mikrobrauerhaft Klassischer Mac OS und Microsoft Windows
- Macromedia Authorware - Aufflussdiagrammbasierte Programmiersprache
- Wendel und Double Helix, ein wegweisendes Datenbankverwaltungssystem für die Apple Macintosh -Plattform, die 1983 erstellt wurde
- Illumination Software Creator, eine Sprache und eine IDE zum visuellen Erstellen von Desktop- und mobiler Software
- Thinglab
Visuelle Stile
- Drakon (Drache), a SDL- und Aadl-influsen Sie visuelle 2D-Programmiersprache, die für die Entwicklung des Hard-Time-Softwaresystems für den automatischen Flug und Landung des Sowjet/Russischs entwickelt wurde Buran (Schneesturm) umkreisen Raumschiff
- Ausführbar uml, a Profil des Universelle Modellierungssprache Spezifikation Definieren der ausführbaren Semantik für eine Teilmenge von UML
- Flussdiagramm
- Subtext
Siehe auch
- Argumentkarte
- Kognitive Dimensionen von Notationen - Bewertung der Notation für visuelle und nicht visuelle Sprachen
- Konzeptkarte
- Datenflow -Programmierung
- Deutsch Grenze, ein Aphorismus über die Informationsdichte von Sprachprimitive in einer visuellen Notation
- Domänenspezifische Modellierung
- Ziehen und Drop
- Flow-basierte Programmierung
- Grafikzeichnung
- Low-Code-Entwicklungsplattform
- No-Code-Entwicklungsplattform
- Programmierspiel
- Einheitliche Modellierungssprache
- Visuelle Sprache
- Visuelles Denken
Verweise
- ^ Jost, Beate; Ketterl, Markus; Budde, Reinhard; LEIBBACH, Thorsten (2014). "Grafische Programmierumgebungen für Bildungsroboter: Open Roberta - noch eine?". 2014 IEEE International Symposium über Multimedia. S. 381–386. doi:10.1109/ism.2014.24. ISBN 978-1-4799-4311-1.
- ^ Bragg, S.D.; DRISKILL, C.G. (1994). "Diagramm-grafische Programmiersprachen und dod-std-2167a". Verfahren von Autotestcon '94. S. 211–220. doi:10.1109/Herest.1994.381508. ISBN 0-7803-1910-9.
- ^ Kuhail, M. A.; Farooq, S.; Hammad, R.; Bahja, M. (2021). "Charakterisierung visueller Programmieransätze für Endbenutzerentwickler: eine systematische Überprüfung". IEEE -Zugang. 9: 14181–14202. doi:10.1109/access.2021.3051043.
- ^ Repenning, Alexander (2017). "Übergang über die Syntax hinaus: Lehren aus 20 Jahren Blöcken programmieren in Agentenblättern". Journal of Visual Languages und empfindungsfähige Systeme. 3: 68–91. doi:10.18293/VLSS2017-010.
- ^ Johnston, W.M.; Hanna, J.R.P.; Millar, R.J. (2004). "Fortschritte in DataFlow -Programmiersprachen" (PDF). ACM Computing -Umfragen. 36 (1): 1–34. doi:10.1145/1013208.1013209. Abgerufen 2011-02-16.
- ^ Rekers, J.; Schürr, A. (1997). "Definieren und Parsen visueller Sprachen mit geschichteten Grammatiken für die Graphen". Journal of Visual Languages & Computing. 8 (1): 27–55. doi:10.1006/jvlc.1996.0027.
- ^ Zhang, D.-Q. (2001). "Ein kontextempfindlicher Grammatikformalismus für die Spezifikation visueller Sprachen". Das Computerjournal. 44 (3): 186–200. doi:10.1093/comjnl/44.3.186.
- ^ http://www.comppetmusicjournal.org/reviews/31-* * * 2/Regan-Bidule.html
- ^ "Shader Editor - Blender Manual". docs.blender.org. Abgerufen 2021-01-22.
- ^ "Komposition - Mixerhandbuch". docs.blender.org. Abgerufen 2021-01-22.
- ^ "Texturbearbeitung - Blenderhandbuch". docs.blender.org. Abgerufen 2021-01-22.
- ^ "Referenz-/Versionsnotizen/2.92/Geometrieknoten - Blender -Entwickler Wiki". Wiki.blender.org. Abgerufen 2021-01-22.
- ^ "Geometrieknoten - Mixerhandbuch". docs.blender.org. Abgerufen 2021-10-02.
- ^ "Babylon.js node Material Editor". nme.babylonjs.com. Abgerufen 2021-01-22.
- ^ Konstrukt klassische Startseite konstruieren
- ^ Konstruieren Sie die klassische Seite auf SourceForge
- ^ "Yahoo! Pfeifen". Archiviert von das Original Am 2015-01-03. Abgerufen 2015-01-03.
- Dieser Artikel basierte ursprünglich auf Material aus dem Kostenloses Online-Wörterbuch des Computers, mit Genehmigung verwendet. Update bei Bedarf.