Lenguaje de programación visual

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
¡Un simple bloque personalizado en el Snap! lenguaje de programación visual, basado en Scratch, calculando la suma de todos los números entre a y b

En informática, un lenguaje de programación visual (sistema de programación visual, VPL o VPS) o La codificación de bloques es un lenguaje de programación que permite a los usuarios crear programas manipulando elementos del programa gráficamente en lugar de especificarlos textualmente. Un VPL permite programar con expresiones visuales, arreglos espaciales de texto y símbolos gráficos, utilizados ya sea como elementos de sintaxis o notación secundaria. Por ejemplo, muchos VPL (conocidos como programación diagramamática) se basan en la idea de "cuadros y flechas", donde los cuadros u otros objetos de la pantalla se tratan como entidades, conectadas por flechas, Líneas o arcos que representan relaciones.

Definición

Los VPL se pueden clasificar además, según el tipo y el alcance de la expresión visual utilizada, en lenguajes basados en iconos, lenguajes basados en formas y lenguajes de diagramas. Los entornos de programación visual proporcionan elementos gráficos o icónicos que los usuarios pueden manipular de forma interactiva de acuerdo con alguna gramática espacial específica para la construcción de programas.

El objetivo general de los VPL es hacer que la programación sea más accesible para los principiantes y apoyar a los programadores en tres niveles diferentes.

  • Sintaxis: Las VPL utilizan iconos/blocks, formas y diagramas tratando de reducir o incluso eliminar el potencial de errores sintácticos ayudando con el arreglo de primitivos de programación para crear programas bien formados.
  • Semántica: VPLs puede proporcionar algunos mecanismos para revelar el significado de la programación primitiva. Ello podría incluir funciones de ayuda que proporcionaran funciones de documentación incorporadas a los idiomas de programación.
  • Pragmatics: VPLs apoyan el estudio de lo que los programas significan en situaciones particulares. Este nivel de soporte permite a los usuarios poner artefactos creados con una VPL en un determinado estado para explorar cómo el programa reaccionará a ese estado. Ejemplos: En AgentSheets o AgentCubes los usuarios pueden establecer juegos o simulaciones en un estado particular para ver cómo reaccionaría el programa. Con el lenguaje de programación de Thymio los usuarios pueden introducir un robot en un determinado estado para ver cómo reaccionará, es decir, qué sensores se activarán.

Los desarrollos actuales intentan integrar el enfoque de programación visual con lenguajes de programación de flujo de datos para tener acceso inmediato al estado del programa, lo que resulta en depuración en línea, o generación y documentación automática del programa. Los lenguajes de flujo de datos también permiten la paralelización automática, lo que probablemente se convierta en uno de los mayores desafíos de programación del futuro.

Los lenguajes Visual Basic, Visual C#, Visual J#, etc. del IDE de Microsoft Visual Studio no son lenguajes de programación visual: la representación de algoritmos, etc. es textual, aunque el IDE embellece las actividades de edición y depuración con una rica interfaz de usuario.. Una consideración similar se aplica a la mayoría de los demás entornos de desarrollo rápido de aplicaciones que normalmente admiten un diseñador de formularios y, a veces, también tienen herramientas gráficas para ilustrar (pero no definir) el flujo de control y las dependencias de datos.

Los analizadores para lenguajes de programación visual se pueden implementar utilizando gramáticas gráficas.

Lista de lenguajes visuales

A continuación se incluye una lista de lenguajes de programación visual notables.

Educativo

  • AgentCubes, 3D y 2D juego diseño y simulación herramientas de pensamiento computacional.
  • AgentSheets, autoría del juego y herramienta de autorización de la ciencia computacional.
  • Alice, un lenguaje basado en objetos utilizado para programar entornos 3D.
  • Analytica, para construir y analizar modelos cuantitativos para el análisis de decisiones y riesgos.
  • App Inventor para Android, una herramienta para crear aplicaciones Android, basada en Blockly y Kawa.
  • Básicamente, una biblioteca del lado cliente para el lenguaje de programación JavaScript para crear lenguajes de programación visual basados en bloques (VPLs) y editores. Blockly es conocido por su uso en Scratch.
  • Bubble, para crear aplicaciones web listas para la producción.
  • Catrobat, lenguaje de programación visual basado en bloques para animaciones, aplicaciones y juegos
  • Etoys, desarrollada bajo la dirección de Alan Kay en Disney para apoyar el aprendizaje construccionista, influenciado por Seymour Papert y el lenguaje de programación Logo
  • Flowcode, una herramienta de programación visual para microcontroladores embebidos y Windows.
  • Flowgorithm, crea diagramas de flujo ejecutables que se pueden convertir en varios idiomas.
  • Hopscotch, aplicación iPad y lenguaje de programación visual para crear aplicaciones móviles orientadas a pantalla táctil.
  • Kodu, una herramienta de programación visual para Logo.
  • Kojo, un lenguaje de programación, IDE y un entorno de aprendizaje.
  • mBlock, una extensión de Scratch para interfaces de hardware Arduino. Desarrollado por Makeblock.
  • Open Roberta, entorno de programación online de Fraunhofer IAIS, diseñado para niños.
  • Código del lápiz, un lenguaje de programación visual centrado en el dibujo con un lápiz
  • Raptor, producto de la USAF, para dibujar diagramas de flujo ejecutables.
  • Scratch, producto del MIT, diseñado para niños en programas K-12 y post-escolar.
  • ScratchJr, una interpretación de Scratch diseñada principalmente para público más joven (5 niños de 7 años).
  • Snap!, una reimplementación basada en el navegador de BYOB, y extensión de Scratch, con procedimientos y listas de primera clase. Se utiliza para enseñar en UC Berkeley.
  • Stagecast Creator, un sistema de enseñanza basado en Java.
  • StarLogo, un lenguaje de simulación basado en agentes desarrollado por Mitchel Resnick, Eric Klopfer, y otros en MIT Media Lab. Una extensión del lenguaje de programación del Logo (un dialecto de Lisp).
  • ToonTalk, sistema de programación para niños.
  • Visual Logic, para crear diagramas de flujo ejecutables.
  • VIPLE Visual IoT/Robotics Programming Language Environment

Multimedia

  • AudioMulch, un ambiente de creación de sonido y música basado en el flujo de audio
  • Bidule, un entorno modular de nodo y cordón de parche para la creación de música informática interactiva y multimedia (Windows, MacOS).
  • Blender (software), el paquete gráfico 3D de código abierto, incluye gráficos de nodo para sombreadores de construcción, compuestos y texturas, geometría no destructiva.
  • Cameleon, lenguaje funcional gráfico
  • Clickteam's La serie de fusión de fábrica/Multimedia juegos, ambientes hechos para el desarrollo visual de juegos
  • Dynamo, una interfaz de modelado generativo para Autodesk Revit
  • Filtro Forge Generación de filtros basados en nodos para el procesamiento de imágenes.
  • Houdini (software) vfx, software de modelado y animación.
  • GenerativeComponents, un software CAD paramétrico desarrollado por Bentley Systems
  • Grasshopper 3d, una interfaz de modelado generativo para Rhinoceros 3D
  • Isadora, un entorno de programación gráfica patentado para Mac OS X y Microsoft Windows, con énfasis en la manipulación en tiempo real del vídeo digital.
  • Kyma (lengua de diseño de sonido), un lenguaje de programación visual para el diseño de sonido utilizado por músicos, investigadores y diseñadores de sonido.
  • Mama (software) – un lenguaje de programación e IDE para construir animaciones y juegos 3D
  • Max (software), entorno de programación visual para crear aplicaciones interactivas, de música en tiempo real y multimedia
    • Max/MSP
    • Datos puros
    • nato.0+55+3d
  • Nodal, una aplicación de software de programación generativa basada en nodos para la composición musical
  • Nuke, un software de programación visual basado en objetos para efectos visuales compuesto por The Foundry impulsado por Tcl, Python y Blink-script.
  • OpenMusic, un lenguaje de programación visual para la composición musical (basado en aplicaciones Common Lisp Object System (CLOS)) y aplicaciones móviles
  • Pure Data (Pd) es un lenguaje de programación visual desarrollado para crear música informática interactiva y obras multimedia.
  • Composer de cuarzo, un lenguaje para procesar y renderizar datos gráficos (macOS)
  • Reaktor, a DSP and MIDI-processing language by Native Instruments
  • Scala Multimedia Autorización de suite y sistema multimedia completo para AmigaOS y Windows
  • Softimage, con ICE Interactive Creative Environment.
  • SynthEdit, una herramienta de construcción Synthesizer usando una VPL.
  • TouchDesigner, lenguaje de programación visual para contenido multimedia en tiempo real
  • Virtools, un middleware utilizado para crear experiencias 3D interactivas
  • vvv, un kit de herramientas de propósito general con un enfoque especial en la síntesis de vídeo en tiempo real y la programación de grandes entornos multimedia con interfaces físicas, gráficos de movimiento en tiempo real, audio y vídeo.
  • WireFusion, entorno de programación visual para crear presentaciones web interactivas 3D

Videojuegos

  • Babylon.js tiene un editor de materiales de nodo que se puede utilizar para construir sombreadores, texturas de procedimiento, sistemas de partículas y efectos de procesamiento post.
  • Blender Game Engine (Editor de lógica gráfica)
  • Buildbox
  • Clickteam Fusion, un software de creación de juegos 2D con sistema de editor de eventos, desarrollado por Clickteam SARL, originalmente conocido como Klik n' Play, The Games Factory y Multimedia Fusion 2
  • Construct 2-3 son editores de juegos 2D basados en HTML5, desarrollados por Scirra Ltd.
    • Construct Classic es la versión anterior, basada en DirectX de código abierto de Construct.
  • CryEngine tiene un lenguaje de programación visual basado en nodos llamado FlowGraph.
  • Dreams, que se ejecuta en PlayStation, tiene un extenso lenguaje visual que permite a los jugadores crear cualquier tipo de juego
  • Game Builder Garage, una herramienta de creación de juegos 3D y 2D para el Nintendo Switch, desarrollada por Nintendo.
  • GameMaker Studio, tiene un sistema de creación de arrastrar y soltar juego desarrollado por YoYo Games.
  • GameSalad es una herramienta de creación de juego visual desarrollada por GameSalad, Inc.
  • GDevelop es una herramienta de creación de juego visual creada por Florian Rival (4ian).
  • El motor de juego Godot permite que los scripts de juego y los sombreadores gráficos se construyan utilizando lenguajes de programación visual node-graph.
  • Human Resource Machine es un juego de puzzle basado en programación visual desarrollado por Tomorrow Corporation.
  • Kodu, un software diseñado para programar juegos con una interfaz 3D desarrollada por Microsoft Research.
  • MakeCode Arcade, por Microsoft
  • Pixel Game Maker MV es una herramienta de desarrollo de videojuegos basada en la interfaz.
  • Rec Room incluye un sistema de creación de juegos con un lenguaje de programación visual basado en nodos llamado Circuitos.
  • Snowdrop tiene un sistema de scripts visuales.
  • Stencyl, una herramienta de creación de videojuegos.
  • Unity tiene un sistema de scripting visual a partir de la versión ECS.
  • Unreal Engine 4 tiene un lenguaje de programación visual basado en nodos llamado Blueprints, y también tonos.

Muchos videojuegos modernos utilizan árboles de comportamiento, que son en principio una familia de lenguajes de programación simples diseñados para modelar comportamientos de personajes que no son jugadores. Los comportamientos se modelan como árboles y, a menudo, se editan en editores gráficos.

Sistemas / simulación

  • Analytica, un lenguaje visual comercial para los modelos de decisión basados en diagramas de influencia.
  • BPEL (Business Process Execution Language), actualmente un usuario gráfico Programación Idioma utilizado para crear la lógica de orquestación para datos y servicios web. Está basado en XML, pero tiene una interfaz gráfica para una codificación más rápida.
  • DRAKON, un lenguaje algorítmico gráfico
  • EICASLAB, una suite de software que incluye un lenguaje gráfico para apoyar el diseño de arquitecturas de control
  • Flowcode es un lenguaje de programación gráfica para programar microprocesadores incrustados
  • Diagramas de bloques de función, utilizados en controladores lógicos programables
  • GNU Radio, un kit de herramientas de desarrollo que proporciona bloques de procesamiento de señales para implementar sistemas de procesamiento de datos definidos por software y sistemas de procesamiento de señales
  • KNIME, el Konstanz Information Miner, es una plataforma de análisis e integración de datos de código abierto
  • LabVIEW, un lenguaje gráfico diseñado para ingenieros y científicos
  • Lógica de escalera, un lenguaje que simula lógica de relé comúnmente utilizado en controladores lógicos programables
  • MeVisLab, marco de aplicación multiplataforma para el procesamiento de imágenes médicas y la visualización científica
  • Microsoft Visual Programming Lenguaje, lenguaje de flujo de datos para la programación robótica que es un componente de Microsoft Robotics Studio
  • MindRover, un juego de programación de robots que incorpora un lenguaje de flujo de datos
  • Minibloq, lenguaje de programación visual para robótica y tableros compatibles Arduino
  • MST Taller, un lenguaje interactivo de programación visual para crear soluciones matemáticas, prototipado rápido, aplicaciones gráficas bidimensionales y tridimensionales
  • Node-RED: kit de herramientas de desarrollo rápido del sistema de software
  • NXT-G, un lenguaje de programación visual para el kit de robótica Lego Mindstorms NXT
  • Visualización de datos científicos OpenDX utilizando un lenguaje de programación visual y un modelo de flujo de datos
  • OpenWire - añade habilidades de programación de flujo de datos visuales a los componentes de Delphi a través de la Biblioteca de Componentes Visuales (VCL) y un editor gráfico (protocolo binario homónimo no está relacionado)
  • Orange - Una herramienta de programación visual de código abierto para la extracción de datos, análisis de datos estadísticos y aprendizaje automático
  • OutSystems language, un lenguaje de modelado visual para desarrollar y cambiar todas las capas de aplicaciones web centríticas de negocio
  • Prograph - un lenguaje de programación orientado a objetos que utiliza símbolos icónicos para representar acciones que se tomen en los datos
  • Ptolemy Project - un proyecto destinado a modelar y diseñar sistemas integrados en tiempo real.
  • Interfaz gráfica Qucs para configurar simulación de señal de circuito electrónico y comportamiento de ruido
  • Reallusion - iClone, un software 3D con Lua lenguaje y diseño de programación visual
  • ROBO Pro, un lenguaje de programación visual para el kit de robótica fischertechnik
  • Scicos Un lenguaje gráfico asociado con el paquete de análisis numérico ScicosLab (originally SciLab)
  • Gráfico de funciones secuenciales, un Petri-net como lenguaje de programación para controladores lógicos programables
  • Simcenter Amesim, entorno de programación gráfica para modelar, simular y analizar sistemas dinámicos multidominios
  • Simulink, entorno de programación gráfica para modelar, simular y analizar sistemas dinámicos multidominios
  • Stateflow, un lenguaje gráfico que incluye diagramas de transición estatal ejecutables, diagramas de flujo, tablas de transición estatales y tablas de verdad
  • STELLA, una VPL para el modelado de dinámicas del sistema
  • Softimage ICE, un sistema basado en nodos que se utiliza para crear y modificar modelos 3D, simular partículas y realizar varias otras tareas
  • VEE es un potente entorno de programación gráfica para pruebas, mediciones y análisis avanzados automatizados utilizados en Test Engineering.
  • VisSim, modelado y lenguaje de simulación, permite hacer modelos matemáticos rápidamente y ejecutarlos en tiempo real

Automatización

  • Automator
  • CiMPLE, Programación Visual Idioma de ThinkLABs para enseñar robótica
  • Fluye un lenguaje de integración gráfica utilizado en la plataforma webMethods
  • Pipeline Pilot es un lenguaje científico de programación visual y de flujo de datos, y la herramienta de autorización para la Plataforma Empresarial de Accelrys.

Almacenamiento de datos/inteligencia empresarial

  • Ab Initio, una herramienta para el procesamiento de ETL mediante la creación de gráficos
  • Alteryx Designer, una herramienta para el procesamiento de datos y análisis que incorpora SQL, R y Python.
  • Apache Nifi, proyecto de software para automatizar el flujo de datos entre sistemas de software.
  • IBM Cognos Business Intelligence, es un ejemplo para programas de primera línea en aplicaciones de Business Intelligence, que se utilizan para generar consultas SQL para funcionar contra bases de datos RDBMS
  • IBM InfoSphere DataStage, una herramienta ETL
  • Informatica Powercenter es una herramienta ETL para diseñar mapas gráficamente para la carga de datos en sistemas Data Warehouse
  • Microsoft SQL Server Integration Services (SSIS), una plataforma para la integración de datos y aplicaciones de flujo de trabajo
  • Pentaho Data Integration (PDI), anteriormente llamado Kettle, una herramienta ETL de código abierto

Varios

  • Kwikpoint, un traductor visual de isotipo creado por Alan Stillman
  • Lava, un objeto experimental RAD idioma
  • Morphic (software), hace más fácil construir y editar objetos gráficos mediante la manipulación directa y desde dentro de los programas; todo el entorno de programación del Yo (programación de lenguaje) se construye utilizando Morphic
  • Piet, un lenguaje esotérico, el programa es una imagen cuyos píxeles son los elementos del lenguaje
  • PWCT, lenguaje de programación visual de código abierto para el desarrollo de software
  • Atajos, un lenguaje de scripting visual desarrollado por Apple para crear macros en macOS, iOS, iPadOS y watchOS.
  • StreamBase Systems, StreamBase Event Flujo es un lenguaje de programación visual para procesar eventos de streaming
  • WebML, es un lenguaje visual para diseñar aplicaciones web complejas que pueden generarse automáticamente
  • ¡Yahoo! Pipes es un sistema de programación de flujo de datos visual para procesar datos web
  • YAWL, lenguaje gráfico de flujo de trabajo

Legado

  • AppWare, también conocido como MicroBrew, programación basada en iconos para Mac OS clásico y Microsoft Windows
  • Macromedia Autorware - lenguaje de programación basado en diagrama de flujo
  • Helix y Double Helix, un sistema pionero de gestión de bases de datos para la plataforma Apple Macintosh, creado en 1983
  • Illumination Software Creator, un lenguaje e IDE para crear visualmente software de escritorio y móvil
  • ThingLab

Estilos visuales

  • DRAKON (Dragon), un lenguaje de programación visual 2D influenciado por SDL y AADL diseñado para desarrollar el sistema de software duro en tiempo real a bordo para el vuelo y aterrizaje automáticos del Buran soviético/ruso (Snowstorm) orbitando naves espaciales
  • UML ejecutable, un perfil de la especificación Universal de la lengua de modelado que define la semántica ejecutable para un subconjunto de UML
  • Flowchart
  • Subtexto

Contenido relacionado

Tarjeta perforada

Una tarjeta perforada es un trozo de papel rígido que contiene datos digitales representados por la presencia o ausencia de agujeros en posiciones...

CPython

CPython es la implementación de referencia del lenguaje de programación Python. Escrito en C y Python, CPython es la implementación predeterminada y más...

Arquitectura Harvard

La Arquitectura Harvard es un modelo de arquitectura informática que separa físicamente la memoria de código de programa de la memoria de almacenamiento de...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save