Vizuální programovací jazyk - Visual programming language
v výpočetní, a vizuální programovací jazyk (VPL) je libovolný programovací jazyk který umožňuje uživatelům vytvářet programy manipulací s prvky programu graficky spíše než jejich specifikací textově.[1][2] VPL umožňuje programování s vizuálními výrazy, prostorovým uspořádáním textu a grafických symbolů, které se používají buď jako prvky syntax nebo sekundární notace. Například mnoho VPL (známých jako datový tok nebo schematické programování)[3] jsou založeny na myšlence „krabic a šipek“, kdy se s krabicemi nebo jinými objekty obrazovky zachází jako s entitami spojenými šipkami, čarami nebo oblouky, které představují vztahy.

Definice
VPL mohou být dále klasifikovány podle typu a rozsahu použitého vizuálního výrazu do jazyků založených na ikonách, jazyků založených na formulářích a jazycích diagramů. Prostředí vizuálního programování poskytují grafické nebo ikonické prvky, s nimiž mohou uživatelé interaktivně manipulovat podle určité specifické prostorové gramatiky pro konstrukci programu.
Obecným cílem VPL je zpřístupnit programování nováčkům a podporovat programátory na třech různých úrovních[4]
- Syntax: VPL používají ikony / bloky, formuláře a diagramy, které se snaží snížit nebo dokonce úplně vyloučit potenciál syntaktických chyb, které pomáhají s uspořádáním programovacích primitiv k vytváření dobře formovaných programů. Mezi příklady jiných než VPL patří kontrola pravopisu v textových procesorech, která podtrhuje nebo dokonce automaticky opravuje jednotlivá slova nebo gramatiku.
- Sémantika: VPL mohou poskytnout určité mechanismy k odhalení významu programovacích primitiv. To by mohlo zahrnovat funkce nápovědy poskytující funkce dokumentace zabudované do programovacích jazyků.
- Pragmatici: VPL podporují studium toho, co programy v konkrétních situacích znamenají. Tato úroveň podpory umožňuje uživatelům uvádět artefakty vytvořené pomocí VPL do určitého stavu, aby bylo možné prozkoumat, jak bude program na tento stav reagovat. Příklady: v Listy agentů nebo AgentCubes uživatelé mohou nastavit hry nebo simulace do konkrétního stavu, aby zjistili, jak bude program reagovat. S Thymio Uživatelé programovacího jazyka mohou uvést robota do určitého stavu, aby viděli, jak bude reagovat, tj. jaké senzory budou aktivovány.
Vizuálně transformovaný jazyk je nevizuální jazyk se superponovanou vizuální reprezentací. Přirozeně vizuální jazyky mají vlastní vizuální výraz, pro který neexistuje žádný zjevný textový ekvivalent.[Citace je zapotřebí ]
Současný vývoj se snaží integrovat přístup vizuálního programování s programování toku dat jazyků buď k okamžitému přístupu k stav programu, což má za následek online ladění nebo automatické generování a dokumentaci programu. Jazyky toku dat také umožňují automatická paralelizace, který se pravděpodobně stane jednou z největších programových výzev budoucnosti.[5]
The Visual Basic, Visual C #, Visual J # atd. jazyky Microsoft Visual Studio IDE nejsou vizuální programovací jazyky: reprezentace algoritmů atd. je textová, i když IDE zdobí činnosti úprav a ladění bohatým uživatelským rozhraním. Podobná úvaha platí pro většinu ostatních rychlý vývoj aplikací prostředí, která obvykle podporují a návrhář formulářů a někdy také mají grafické nástroje pro ilustraci (ale nedefinují) tok řízení a závislosti na datech.
Parsery pro vizuální programovací jazyky lze implementovat pomocí gramatické gramatiky.[6][7]
Seznam vizuálních jazyků
Následující text obsahuje seznam pozoruhodných vizuálních programovacích jazyků.
Vzdělávací
- AgentCubes, Nástroje pro výpočet a simulaci 3D a 2D her a návrh simulace.
- Listy agentů, nástroj pro tvorbu her a výpočetní vědu.
- Alice, objektový jazyk používaný k programování 3D prostředí.
- Analytica, pro vytváření a analýzu kvantitativních modelů pro rozhodování a analýzu rizik.
- App Inventor pro Android, nástroj pro vytváření Android aplikace založené na Blokovaně a Kawa.
- Blokovaně, knihovna na straně klienta pro programovací jazyk JavaScript pro vytváření blokových vizuálních programovacích jazyků (VPL) a editorů
- Bublina, pro vytvoření připravené k výrobě webové aplikace.
- CodeWorld, prostředí vzdělávacího programování využívající Haskell, s polymorfními bloky, jejichž Blokovaně - konektory na bázi se liší podle bloku návratový typ.
- Flowgorithm, vytváří spustitelné vývojové diagramy, které lze převést do několika jazyků.
- Peklo, an iPad aplikace a vizuální programovací jazyk pro vytváření mobilních aplikací orientovaných na dotykovou obrazovku.
- Kodu, vizuální programovací nástroj pro Logo.
- Kojo, programovací jazyk, IDE a vzdělávací prostředí.
- mBlock, rozšíření Scratch pro Arduino hardwarová rozhraní. Vyvinul Makeblock.
- Otevřená Roberta, online programovací prostředí od Fraunhofer IAIS, určené pro děti.
- Raptor, produkt společnosti USAF, pro kreslení spustitelných vývojových diagramů.
- Poškrábat, produkt z MIT, určený pro děti v K-12 a mimoškolních programech.
- ScratchJr, další produkt společnosti MIT, určené pro 5-7leté děti.
- Snap!, reimplementace prohlížeče založená na prohlížeči BYOB a rozšíření Poškrábat, s prvotřídními postupy a seznamy. Používá se pro výuku v UC Berkeley.
- Stagecast Creator, dříve Apple Kakao: Tvorba internetu pro děti.
- StarLogo, an agent simulační jazyk vyvinutý uživatelem Mitchel Resnick, Eric Klopfer a další na adrese MIT Media Lab. Rozšíření Logo programovací jazyk (A dialekt z Lisp ).
- ToonTalk, programovací systém pro děti.
- Vizuální logika, pro vytváření spustitelných vývojových diagramů.
- VIPLE Visual IoT / Robotics Programming Language Environment
Multimédia
- AudioMulch, prostředí zvuku a hudby založené na toku zvukových signálů
- Bidule, prostředí modulárního uzlu a propojovacího kabelu pro vytváření interaktivní počítačové hudby a multimédií (Windows, MacOS).[8]
- Černý inkoust, software pro digitální malbu zaměřený na generativní a procedurální umělecké nástroje.
- Blender (software), balíček open source 3D grafiky, obsahuje „editor uzlů“ pro vytváření stínovacích programů jako grafů. Vlastní uzly také umožňují vytvářet systémy jako sverchok, blendgraph nebo jiné.
- Cameleon, grafický funkční jazyk
- Clickteam Továrna na hry / multimediální fúzní série, prostředí vytvořená pro vizuální vývoj her
- Dynamo, generativní modelovací rozhraní pro Autodesk Revit
- Filtrovat kovárnu Generování filtru na základě uzlů pro zpracování obrazu.
- Houdini (software) vfx, modelovací a animační software.
- Generativní komponenty, parametrický CAD software vyvinutý společností Bentley Systems
- Kobylka 3d, generativní modelovací rozhraní pro Nosorožec 3D
- Kyma (jazyk zvukového designu), vizuální programovací jazyk pro zvukový design používaný hudebníky, výzkumníky a zvukovými designéry.
- Mama (software) - programovací jazyk a IDE pro vytváření 3D animací a her
- Max (software), vizuální programovací prostředí pro vytváření interaktivních hudebních a multimediálních aplikací v reálném čase
- Nodal, uzlová generativní softwarová aplikace pro hudební kompozici
- Nuke, objektový vizuální programovací software pro vizuální efekty skládání podle Slévárna používá Tcl, Python a Blink-script.
- OpenMusic, vizuální programovací jazyk pro hudební kompozici (založený na Společný systém objektů Lisp (CLOS)) a mobilní aplikace
- Čistá data (Pd) je vizuální programovací jazyk vyvinutý pro vytváření interaktivní počítačové hudby a multimediálních děl.
- Křemenný skladatel, jazyk pro zpracování a vykreslování grafických dat (Operační Systém Mac)
- Reaktor, jazyk DSP a zpracování MIDI od Nativní nástroje
- Scala Multimedia Redakční sada a kompletní multimediální systém pro AmigaOS a Windows
- Softimage, s ICE Interactive Creative Environment.
- SynthEdit, stavební nástroj Synthesizer pomocí VPL.
- TouchDesigner, vizuální programovací jazyk pro multimediální obsah v reálném čase
- Virtools, middleware používaný k vytváření interaktivních 3D zážitků
- vvvv, univerzální sada nástrojů se zvláštním zaměřením na syntézu videa v reálném čase a programování velkých mediálních prostředí s fyzickými rozhraními, pohyblivou grafikou v reálném čase, zvukem a videem.
- WireFusion, vizuální programovací prostředí pro vytváření interaktivních 3D webových prezentací
Videohry
- Blender Game Engine (Grafický editor logiky)
- Construct 2 je 2D herní editor založený na HTML5, vyvinutý společností Scirra Ltd.
- Construct Classic je předchozí open-source verze Construct založená na DirectX.[9][10]
- CryEngine má vizuální programovací jazyk na bázi uzlů s názvem FlowGraph.
- Studio GameMaker, má systém vytváření her typu drag and drop vyvinutý společností YoYo Games.
- GameSalad je vizuální nástroj pro vytváření her vyvinutý společností GameSalad, Inc.
- GDevelop je vizuální nástroj pro vytváření her vytvořený Florianem Rivalem (4ian).
- Godot, interní otevřený zdroj MIT licencován software pro vývoj her.
- Stroj na lidské zdroje je vizuální logická hra založená na programování vyvinutá společností Tomorrow Corporation.
- Kodu, software určený k programování her pomocí 3D rozhraní vyvinutý společností Microsoft Research.
- Modulární, online nástroj pro vytváření aplikací pro Android, který je založen na MIT App Inventor.
- Nahrávací místnost zahrnuje systém vytváření her s uzlovým vizuálním programovacím jazykem s názvem Circuits.
- Sněženka má vizuální skriptovací systém.
- Stencyl, nástroj pro vytváření videoher.
- Jednota má vizuální skriptovací systém od vydání ECS.
- Unreal Engine 4 má vizuální programovací jazyk založený na uzlech nazývaný Blueprints a také shadery.
Mnoho moderních videoher využívá stromy chování, které jsou v zásadě rodinou jednoduchých programovacích jazyků určených pro modelové chování pro nehrající postavy. Chování jsou modelovány jako stromy a jsou často upravovány v grafických editorech.
Systémy / simulace
- Analytica, komerční vizuální jazyk pro rozhodovací modely založené na vlivové diagramy.
- BPEL (Business Process Execution Language), v současné době grafický uživatelský programovací jazyk používaný k vytváření logiky orchestrace pro data a webové služby. Je založen na XML, ale má grafické rozhraní pro rychlejší kódování.
- DRAKON, grafický algoritmický jazyk
- EICASLAB, softwarová sada zahrnující grafický jazyk pro podporu návrhu řídicích architektur
- Vývojový kód je grafický programovací jazyk k programování vestavěné mikroprocesory
- Funkční bloková schémata, použito v programovatelné logické automaty
- Rádio GNU, vývojová sada nástrojů, která poskytuje bloky zpracování signálu pro implementaci softwarově definovaných rádií a systémů zpracování signálu
- KNIME, Konstanz Information Miner, je otevřená platforma pro analýzu, vykazování a integraci dat
- LabVIEW, grafický jazyk určený pro inženýry a vědce
- Logika žebříku, jazyk, který simuluje logiku relé běžně používanou v programovatelné logické automaty
- MeVisLab, napříč platformami aplikační rámec pro lékařské zpracování obrazu a vědecká vizualizace
- Microsoft Visual Programming Language, jazyk toku dat pro robotika programování, které je součástí Microsoft Robotics Studio
- MindRover, robotická programovací hra zahrnující jazyk „elektroinstalace“ toku dat
- Miniblok, vizuální programovací jazyk pro robotika a Arduino kompatibilní desky
- Workshop MST, interaktivní vizuální programovací jazyk pro vytváření matematických řešení, rychlé prototypování, dvourozměrné a trojrozměrné grafické aplikace
- Node-RED: sada nástrojů pro rychlý vývoj softwarového systému
- NXT-G, vizuální programovací jazyk pro Lego Mindstorms NXT robotická sada
- OpenDX vizualizace vědeckých dat pomocí vizuálního programovacího jazyka a modelu toku dat
- OpenWire - přidává vizuální schopnosti programování toku dat do Windows Delphi přes Knihovna vizuálních komponent (VCL) komponenty a grafický editor (homonymní binární protokol nesouvisí)
- oranžový - An open-source, vizuální programovací nástroj pro dolování dat, statistické analýza dat, a strojové učení
- OutSystems jazyk, jazyk vizuálního modelování pro vývoj a změnu všech vrstev webových aplikací zaměřených na podnikání
- Prograph - an objektově orientované programování jazyk, který používá ikonické symboly k reprezentaci akcí, které je třeba provést s daty
- Ptolemaiosův projekt - projekt zaměřený na modelování a navrhování reálný čas vestavěné systémy.
- Qucs grafické rozhraní pro nastavení simulace signálu a šumu elektronického obvodu
- Reallusion - iClone, 3D software s jazykem Lua a vizuální programovací design
- ROBO Pro, vizuální programovací jazyk pro fischertechnik robotická sada
- Scicos Grafický jazyk přidružený k balíčku numerické analýzy ScicosLab (původně SciLab )
- Tabulka sekvenčních funkcí, programovací jazyk podobný Petriho síti programovatelné logické automaty
- Simulink, prostředí grafického programování pro modelování, simulaci a analýzu vícedoménových dynamických systémů
- Stateflow, grafický jazyk, který zahrnuje spustitelné diagramy přechodu stavu, vývojové diagramy, tabulky přechodu stavu a tabulky pravdy
- STELLA, VPL pro modelování dynamiky systému
- Softimage ICE, uzlový systém, který se používá k vytváření a úpravám 3D modely, simulovat částice a provádět různé další úkoly
- VEE
- VisSim, modelovací a simulační jazyk, umožňuje rychlé vytváření matematických modelů a jejich provádění v reálném čase
Automatizace
- Automator
- CiMPLE, Visual Programming Language od ThinkLAB pro výuku robotiky
- Tok grafický integrační jazyk používaný v webové metody plošina
- Pilot potrubí je vědecký programovací jazyk pro vizuální a datové toky a autorský nástroj pro platforma Accelrys Enterprise.
Skladování dat / obchodní inteligence
- Ab Initio, nástroj pro ETL zpracování vytvořením grafů
- Návrhář Alteryx, nástroj pro zpracování dat a začlenění analytiky SQL, R a Python.
- Apache Nifi, softwarový projekt pro automatizaci toku dat mezi softwarovými systémy.
- IBM Cognos Business Intelligence, je příkladem pro front-end programy v Business Intelligence aplikace, které se používají ke generování SQL dotazy, proti kterým se má spustit RDBMS databáze
- IBM InfoSphere DataStage, nástroj ETL
- Informatica Powercenter je nástroj ETL pro grafické navrhování mapování pro načítání dat v systémech Data Warehouse
- Microsoft SQL Server Integration Services (SSIS), platforma pro integraci dat a aplikace pracovního toku
- Pentaho Data Integration (PDI), dříve Kettle, nástroj ETL s otevřeným zdrojovým kódem
Smíšený
- Kwikpoint, izotypový vizuální překladač vytvořený Alanem Stillmanem
- Láva, experimentálně orientovaný objekt RAD Jazyk
- Limnor, univerzální programovací systém. Limnor Studio je IDE pro rychlý vývoj softwaru.
- Morphic (software), usnadňuje vytváření a úpravy grafických objektů přímou manipulací a v rámci programů; celý Já (programovací jazyk) programovací prostředí je vytvořeno pomocí Morphic
- Piet, esoterický jazyk, program je obraz, jehož pixely jsou prvky jazyka
- PWCT „Zdarma vizuální programovací jazyk s otevřeným zdrojovým kódem pro vývoj softwaru
- Systémy StreamBase StreamBase EventFlow je vizuální programovací jazyk pro zpracování streamovaných událostí
- WebML, je vizuální jazyk pro návrh komplexních datově náročných webových aplikací, které lze automaticky generovat
- Yahoo! Trubky je vizuální programovací systém toku dat ke zpracování webových dat[11]
- JOLA, grafický jazyk pracovního toku
Dědictví
- AppWare, také známý jako MicroBrew, ikonové programování pro klasický Mac OS a Microsoft Windows
- Macromedia Authorware vývojový programový programovací jazyk
- Spirála a Double Helix, průkopnický systém správy databází pro platformu Apple Macintosh, vytvořený v roce 1983
- Tvůrce softwaru pro osvětlení, jazyk a IDE pro vizuální vytváření desktopového a mobilního softwaru
- ThingLab
Vizuální styly
- DRAKON (drak), a SDL - a AADL - ovlivnil vizuální 2D programovací jazyk určený pro vývoj palubního hardwarového softwarového systému v reálném čase pro automatický let a přistání sovětské / ruské Buran (Snowstorm) obíhající kolem kosmické lodi
- Spustitelný UML, a profil z Universal Modeling Language specifikace definující spustitelnou sémantiku pro podmnožinu UML
- Vývojový diagram
- Podtext
Viz také
- Mapa argumentů
- Kognitivní rozměry notací - Hodnocení notace pro vizuální a nevizuální jazyky
- Koncept mapa
- Programování toku dat
- Deutsch limit, an aforismus o hustotě informací jazykové primitivy ve vizuální notaci
- Modelování specifické pro doménu
- Přetáhněte
- Programování založené na toku
- Kreslení grafu
- Vývojová platforma s nízkým kódem
- Platforma pro vývoj bez kódu
- Programovací hra
- Unifikovaný Modelovací Jazyk
- Vizuální jazyk
- Vizuální myšlení
Reference
- ^ Jost, Beate; Ketterl, Markus; Budde, Reinhard; Leimbach, Thorsten (2014). „Prostředí grafického programování pro vzdělávací roboty: Otevřená Roberta - ještě další?“. 2014 IEEE International Symposium on Multimedia. 381–386. doi:10.1109 / ISM.2014.24. ISBN 978-1-4799-4311-1.
- ^ Zralost vizuálního programování
- ^ Bragg, S.D .; Driskill, C.G. (1994). "Schematicko-grafické programovací jazyky a DoD-STD-2167A". Sborník AUTOTESTCON '94. 211–220. doi:10.1109 / AUTEST.1994.381508. ISBN 0-7803-1910-9.
- ^ Repenning, Alexander (2017). „Posun nad rámec syntaxe: lekce z 20 let programování bloků v tabulkách agentů“. Journal of Visual Languages and Sentient Systems. 3: 68–91. doi:10.18293 / vlss2017-010.
- ^ Johnston, W.M .; Hanna, J.R.P .; Millar, R.J. (2004). „Pokroky v programovacích jazycích toku dat“ (PDF). ACM Computing Surveys. 36 (1): 1–34. doi:10.1145/1013208.1013209. Citováno 2011-02-16.
- ^ Rekers, J .; Schürr, A. (1997). „Definování a analýza vizuálních jazyků pomocí gramatik s vrstvami grafů“. Journal of Visual Languages & Computing. 8 (1): 27–55. doi:10.1006 / jvlc.1996.0027.
- ^ Zhang, D.-Q. (2001). „Kontextově citlivý gramatický formalizmus grafů pro specifikaci vizuálních jazyků“. Počítačový deník. 44 (3): 186–200. doi:10.1093 / comjnl / 44.3.186.
- ^ http://www.computermusicjournal.org/reviews/31-* * * 2 / regan-bidule.html
- ^ Vytvořte si domovskou stránku Classic
- ^ Vytvořte klasickou stránku na SourceForge
- ^ „Yahoo! trubky“. Archivovány od originál dne 01.01.2015. Citováno 2015-01-03.
- Tento článek byl původně založen na materiálu z Zdarma online slovník výpočetní techniky, použitý s povolení. Podle potřeby aktualizujte.