Ir al contenido

Programación visual

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 14:33 14 oct 2022 por Jose Arcidiacono (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

El término programación visual (Visual programming language, VPL) refiere a la programación en la que se utiliza más de una dimensión para expresar la semántica.[1]​ Los lenguajes de programación visual permiten a los usuarios crear programas mediante la manipulación de elementos gráficos, en lugar de especificarlos exclusivamente de manera textual.[2]​ Este tipo de lenguajes son muy utilizados en ámbitos educativos[3]​ a través de los denominados entornos de programación por bloques (entre los que se destaca Scratch) que permiten reducir las dificultades que enfrentan los principiantes cuando empiezan a programar. HyperCard de Apple fue probablemente el primer ejemplo de un entorno de programación visual.[4]

Características

Este estilo de programación presenta las siguientes características:

  • Visual: los elementos se arrastran y sueltan en el flujo del programa para integrarlos.
  • Orientado a acontecimientos: cada paso del programa comienza cuando ocurre un acontecimiento previamente definido.
  • Imperativo: la programación consiste en una secuencia de comandos.
  • Orientado a objetos: hay objetos individuales con tareas definidas asignadas.[5]

Los programadores suelen utilizar elementos de programación ya definidos, según el lenguaje de programación visual que utilicen. Los elementos de programación están diseñados para encajar como las piezas de un puzle. Si los elementos no encajan lógicamente, el editor lo detecta. Los elementos de programación suelen agruparse en grupos de colores, lo que orienta al usuario a la hora de elegirlos.

Estos pueden registrar textos e imágenes, organizarlos de forma lógica y modificar su apariencia o su expresión. Los elementos de control permiten insertar acciones que dependen de ciertas condiciones.[5]

NEPO, es un software de programación libre inspirado en Scratch. Fue creado por el MIT (Massachusetts Institute of Technology).

Programación orientada a objetos

  • Define los programas en términos de "clases de objetos", objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto). La programación orientada a objetos (OOP) expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. [6]
  • La OOP facilita el uso de características de un programa en otros, de modo que los programadores no tengan que empezar de cero con cada nuevo programa.[4]
  • La técnica de programación orientada a objetos,[7]​ se basa en fundamentos de diseño, técnicas y metodologías unificadas (UML).
  • Lenguajes visuales como Visual Basic.Net, Borland Delphi, incorporan una completa implementación de la programación orientada a objetos y permiten aprovechar al máximo toda la funcionalidad que ofrecen estos lenguajes para el desarrollo de aplicaciones de gestión.[8][9][10]

Programación por bloques

La programación por bloques o programación orientada a bloques usa una metáfora de "primitiva de programación como pieza de rompecabezas" como una forma de dar indicios visuales al usuario acerca de cómo y dónde pueden ser usadas las instrucciones del lenguaje. Escribir un programa en un entorno basado en bloques consiste entonces en arrastrar y soltar las instrucciones una junto a otra. Si las dos instrucciones no pueden unirse en una declaración válida, entonces el entorno evita que puedan encastrar juntas. De esta forma, los entornos de programación por bloques pueden prevenir errores de sintaxis reteniendo la práctica de crear programas ensamblando las instrucciones una por una.[11]

Librerías y entornos de programación por bloques

Existen librerías como Blockly que permiten la creación de herramientas de edición de código por bloques. No deben confundirse con los lenguajes de programación por bloques, ya que las librerías son las que aportan la funcionalidad para editar, mientras que los lenguajes definen el conjunto de instrucciones posibles, su sintaxis, etc.

Algunos entornos de programación por bloques que tienen sus propios lenguajes son Scratch, Scratch Jr, Snap![12]​ y StarLogo[13]​.

Otros editores ayudan a la generación de código para hacer más accesibles plataformas como Android (App Inventor) o Arduino (Hello Blocks![14]​, Ardublock[15]​, ArduinoBlocks[16]​).

Otra librería de programación por bloques, basada en Blockly, es Roboblocks[17]​, un repositorio de bloques para hacer editores de Arduino.

Véase también

Enlaces externos

  • snapp es un sistema de programación visual derivado de Google Blockly
  • Scratch es un lenguaje de programación visual gratuito para jóvenes.
  • Scratch Jr es un lenguaje de programación introductorio visual para niños pequeños (5 a 7 años)


Referencias

  1. Burnett, Margaret M. (1999). Wiley Encyclopedia of Electrical and Electronics Engineering (en inglés). American Cancer Society. ISBN 978-0-471-34608-1. doi:10.1002/047134608x.w1707. Consultado el 7 de mayo de 2020. 
  2. ai, craft. «The maturity of visual programming». craft ai | Explainable AI, as-a-service (en inglés). Consultado el 7 de mayo de 2020. 
  3. «program.ar». 
  4. a b BEEKMAN, G. (2005). «Capítulo 14». INTRODUCCIÓN A LA INFORMÁTICA. Sexta edición. PEARSON PRENTICE HALL. p. 526. 
  5. a b «¿En qué consiste la programación visual?». 
  6. «Programación orientada a objetivos con Scratch». 
  7. «qué es la programación orientada a objetos». 
  8. «Scratch». Argentina.gob.ar. 
  9. Pascual, Juan Antonio (13 de diciembre de 2015). «Scratch, programación sencilla y gratis para niños y mayores». ComputerHoy. Consultado el 11 de abril de 2020. 
  10. «Programación por bloques». 
  11. Weintrop, David (24 de julio de 2019). «Block-based programming in computer science education». Communications of the ACM (en inglés) 62 (8): 22-25. ISSN 0001-0782. doi:10.1145/3341221. Consultado el 14 de octubre de 2022. 
  12. «Snap! Build Your Own Blocks». snap.berkeley.edu. Consultado el 14 de octubre de 2022. 
  13. «Welcome». www.slnova.org. Consultado el 14 de octubre de 2022. 
  14. «Hello, Blocks!». hello-blocks.com. Consultado el 14 de octubre de 2022. 
  15. «Ardublock | A Graphical Programming Language for Arduino» (en inglés estadounidense). Consultado el 14 de octubre de 2022. 
  16. «ArduinoBlocks». www.arduinoblocks.com. Consultado el 14 de octubre de 2022. 
  17. RoboBlocks, BQ, 26 de mayo de 2020, consultado el 14 de octubre de 2022 .