PWCT - Enciclopedia

PWCT (Programming Without Coding Technology) es un lenguaje de programación visual gratuito y de código abierto para el desarrollo de software. El proyecto se fundó en diciembre de 2005 como un proyecto gratuito y de código abierto que apoya el diseño de aplicaciones mediante programación visual y luego la generación del código fuente. El software admite la generación de código en muchos lenguajes de programación textuales.

Objetivo
PWCT está diseñado para ser un lenguaje de programación visual general-purpose que se puede usar para el desarrollo de aplicaciones y sistemas. PWCT también se puede usar para introducir conceptos de programación.
El entorno admite una dimensión temporal donde el programador puede reproducir programas como una película para aprender a crearlos paso a paso y obtener una mejor comprensión de la lógica del programa. El cambio de tiempo se realiza utilizando un control deslizante de cronología que permite al programador seleccionar un punto específico en el tiempo para ver.

Historia

PWCT se registró en SourceForge en diciembre de 2005.
PWCT 1.0 se lanzó el 18 de octubre de 2008.
PWCT 1.1 se lanzó el 20 de febrero de 2009.
PWCT 1.2 se lanzó el 4 de mayo de 2009.
PWCT 1.3 se lanzó el 30 de mayo de 2009.
PWCT 1.4 se lanzó el 28 de agosto de 2009.
PWCT 1.5 se lanzó el 27 de marzo de 2010.
PWCT 1.6 se lanzó el 16 de mayo de 2010.
PWCT 1.7 se lanzó el 15 de septiembre de 2010.
PWCT 1.8 se lanzó el 18 de octubre de 2011 (última actualización: 22 de abril de 2013).
PWCT 1.9 se lanzó el 7 de mayo de 2013 (última actualización: 3 de mayo de 2025).
PWCT 2.0 se lanzó en Steam el 1 de marzo de 2023 (última actualización: 13 de julio de 2025).
El código fuente de PWCT 2.0 se hizo disponible en GitHub en enero de 2025.

Concepto

La arquitectura de PWCT contiene tres capas principales:

La Capa VPL que proporciona funcionalidad para realizar una tarea específica.
La Capa Media que proporciona interfaz entre la vista del usuario y la Capa del Sistema.
La Capa del Sistema que genera código ejecutable en diferentes lenguajes.
El código visual dentro de PWCT se diseña utilizando el Goal Designer, donde el programador puede generar el árbol de pasos a través de la interacción con los componentes del lenguaje visual.
Dentro de PWCT, el código visual es una colección de objetivos, cada objetivo contiene un árbol de pasos y cada paso/nodo dentro del árbol de pasos puede contener uno o más formularios de entrada de datos. El árbol de pasos utiliza colores que informan al programador sobre el tipo de paso. Algunos pasos permiten contener subpasos, otros pasos no permiten esto, también algunos pasos no son más que comentarios para el programador. El árbol de pasos proporciona al programador dos dimensiones donde la relación entre el nodo y otro nodo podría ser "junto a" o "contiene", donde el programador puede ir en profundidad o en anchura cuando interactúa con el árbol de pasos.
El programador puede usar la dimensión "contiene" para realizar operaciones en un grupo de pasos/nodos simultáneamente (mover hacia arriba/mover hacia abajo/cortar/copiar/eliminar), utilizar el diseñador de formularios para crear la interfaz de usuario y utilizar la dimensión temporal para rastrear cuándo se crea cada paso (Fecha y Hora) y navegar a través de la dimensión temporal para ver solo los pasos en cualquier punto durante el proceso de desarrollo.
Dentro del Goal Designer, el usuario puede usar el ratón o el teclado para seleccionar los componentes visuales y generar nuevos pasos en el árbol de pasos. Usando el ratón podemos explorar el entorno para ver los componentes que están listos para usar. Usando el teclado, escribiendo el nombre del componente, el programador puede obtener rápidamente cualquier componente y comenzar a usarlo.

Funcionalidades
General-purpose.
Programación Visual (Más de una dimensión, Sin errores de sintaxis, Dimensión temporal y Colores).
Editor Visual (Atajos de teclado, Personalización, Cortar, Copiar, Pegar, Búsqueda y Sustitución).
Editor Dirigido por Sintaxis (Evitar errores).
Editor gratuito y Compilador VPL.
El programador puede ver y editar el código fuente generado.
El programador puede cambiar el nombre del paso y los colores de los pasos.
Soporta muchos lenguajes de programación textuales (Harbour, C, Python, etc.).
El programador puede reproducir programas como una película para aprender a crear el programa paso a paso.
No fuerza un paradigma de programación.
Extensión (Crear nuevos componentes).
Ejecutar programas en cualquier punto en el pasado durante el proceso de desarrollo.

Lenguajes visuales
Los componentes del lenguaje de programación visual de PWCT se clasifican en las siguientes categorías:

CPWCT: Componentes visuales que generan código fuente en el lenguaje de programación C.
PythonPWCT: Componentes visuales que generan código fuente en el lenguaje de programación Python.
HarbourPWCT: Componentes visuales que generan código fuente en el lenguaje de programación Harbour.
SupernovaPWCT: Componentes visuales que generan código fuente en el lenguaje de programación Supernova.
C#PWCT: Componentes visuales que generan código fuente en el lenguaje de programación C#.
RingPWCT (Introducido en PWCT2): Componentes visuales que generan código fuente en el lenguaje de programación Ring.

Uso
Dado que el código fuente textual se puede generar en diferentes lenguajes de programación textuales como C y Python, PWCT se puede usar en el desarrollo de proyectos que tienen diferentes requisitos, como proyectos de Internet de las cosas (IoT), aplicaciones de inteligencia artificial y aprendizaje automático, proyectos de interfaz de usuario (GUI) y aplicaciones de procesamiento de texto. Además, PWCT se utiliza para desarrollar y mantener el Compilador y la Máquina Virtual del lenguaje de programación Ring.

Crítica
El software PWCT aún requiere que el usuario tenga familiaridad con estructuras de programación como el bucle While y el If-Then. Los errores de sintaxis se reducen, pero la lógica y el análisis de la solución del programa se crean, desarrollan y juzgan por el usuario.
PWCT intenta innovar y proporcionar una nueva manera de ver el diseño del software; sin embargo, dicha innovación tiene un costo. PWCT se centra en la visualización de bloques de código en una estructura que describen como un "Árbol de Pasos", que refleja la estructura anidada vista en los lenguajes de programación textuales regulares. Además, PWCT no tiene un fuerte soporte inherente para visualizar el código como diagramas y no tiene un fuerte soporte para aplicaciones de Arquitectura de Capas de Abstracción (ALA).

Ver también

Alice (software)
LabVIEW
Prograph
Scratch (lenguaje de programación)
Lenguaje de programación visual

Referencias


Leer más
Fayed, Alohali. (2025) PWCT2: A Self-Hosting Visual Programming Language Based on Ring with Interactive Textual-to-Visual Code Conversion, Applied Sciences
Fayed, Al-Qurishi, Alamri, et al. (2020) PWCT: a novel general-purpose visual programming language in support of pervasive application development, Springer
Fayed, Al-Qurishi, Alamri, Aldariseh (2017) PWCT: visual language for IoT and cloud computing applications and systems, ACM
Fayed (2017) General-Purpose Visual Language and Information System with Case-Studies in Developing Business Applications, King Saud University
Fayed (2013) Using C#.NET through Programming Without Coding Technology, Code Project
Fayed (2013) Using Python inside Programming Without Coding Technology, Code Project
Fayed (2013) The Time Machine and the PWCT Visual Programming Language, Code Project

Enlaces externos
Sitio web oficial