Programming Without Coding Technology
Programming Without Coding Technology (PWCT) est un langage de programmation visuel à usage général pour le développement d'applications et de systèmes. Le logiciel est un logiciel libre disponible sur la plateforme SourceForge sous la licence publique générale GNU.
Programming Without Coding Technology (PWCT) est un langage de programmation visuel à usage général pour le développement d'applications et de systèmes. Le logiciel est un logiciel libre disponible sur la plateforme SourceForge sous la licence publique générale GNU[1],[2],[3],[4],[5],[6].
Historique
[modifier | modifier le code]Le logiciel est conçu par le programmeur égyptien Mahmoud Samir Fayed à partir de décembre 2005.
PWCT 1.0 sort en 2008 en tant que produit pour Microsoft Windows.
PWCT 1.8 sort en 2011, ajoutant la prise en charge de la dimension temporelle et améliorant la génération de code dans plusieurs langages de programmation textuels.
En décembre 2011, l'équipe de SourceForge enregistre un podcast sur le projet. Au cours de la conversation, Fayed annonce son intention de développer une version multiplateforme du logiciel.
PWCT 1.9 sort en 2013 et ajoute la prise en charge de deux modes différents (compilateur VPL et éditeur dirigé par la syntaxe).
De 2012 à 2020, le projet enregistre plus de 22 000 000 de téléchargements (logiciels, échantillons, etc.) selon les statistiques de SourceForge.
PWCT 2.0 sort en 2023 sur la plateforme Steam. Cette version du logiciel a été entièrement réécrite à partir de zéro en utilisant le langage de programmation Ring et est initialement distribuée comme logiciel commercial (avant de redevenir un projet libre et open-source en 2025).
Alors que PWCT 1.x est distribué sous licence GPL sur la plateforme SourceForge, le logiciel PWCT 2.x est distribué sous Licence MIT sur la plateforme GitHub à partir de 2025. PWCT 2.x prend en charge Windows, Linux et macOS[7],[8],[9],[10],[11],[12],[13].
Fonctionnalités
[modifier | modifier le code]Le logiciel est conçu pour permettre aux utilisateurs novices d'apprendre les concepts de programmation, tout en permettant aux programmeurs avancés de développer des logiciels volumineux et complexes grâce à la programmation visuelle.
Chaque programme est un ensemble de fichiers sources visuels. Le fichier source visuel est représenté par une collection d'étapes (arbre d'étapes) où une ou plusieurs étapes appartiennent au même composant visuel. Les étapes sont automatiquement générées ou mises à jour après la saisie de données dans l'interface utilisateur du composant visuel (formulaires de saisie de données).
Le logiciel prend en charge la dimension temporelle à l'aide d'un curseur qui modifie les étapes visibles en fonction du point dans le temps. L'utilisateur peut exécuter le programme à n'importe quel moment précis. Le logiciel prend en charge une fonctionnalité appelée « Jouer les programmes comme un film » pour voir comment créer le programme actuel étape par étape.
Le logiciel est fourni avec plusieurs langages de programmation visuels qui génèrent le code source textuel dans différents langages de programmation tels que C, Python, Harbour, etc.
Le logiciel prend en charge l'extension et le développement de nouveaux composants visuels ainsi que de nouveaux langages de programmation visuels.
À partir de PWCT2, le logiciel devient un langage de programmation visuel auto-hébergé et ajoute la possibilité d'importer du code source textuel écrit dans le langage de programmation Ring. Cela permet de développer les projets Ring actuels en utilisant la programmation visuelle ou en utilisant du code généré par des outils d'IA comme Claude Code[14],[15],[16],[17].
Utilisation et applications
[modifier | modifier le code]Le logiciel est utilisé pour développer le compilateur et la machine virtuelle du langage de programmation Ring basés sur le langage de programmation C via le langage de programmation visuel CPWCT. Ring est un langage dynamique multi-paradigme qui prend en charge de nombreuses plateformes, y compris WebAssembly[18],[19],[20].
Le logiciel est utilisé dans le développement de projets de recherche, d'applications front-end pour des modèles d'apprentissage automatique, d'applications de traitement de texte, de projets IoT, etc. [21],[22],[23]
Limites
[modifier | modifier le code]PWCT 1.x est développé à l'aide de Visual FoxPro (qui n'est plus activement développé) et PWCT 2.x, développé à l'aide du langage de programmation Ring, n'est pas compatible avec PWCT 1.x[24],[25].
Bien que l'approche visuelle de PWCT soit innovante, elle présente des limites : la représentation visuelle, basée sur un arbre d'étapes, des formulaires de saisie de données et une dimension temporelle, ne prend pas en charge l'architecture en couches d'abstraction[26].
L'utilisation de PWCT 1.x nécessite toujours la connaissance et la compréhension de concepts de programmation tels que les variables, les structures de contrôle, les paradigmes de programmation, etc. [1] Bien que PWCT2 prenne en charge l'importation de code source textuel pouvant être généré par des outils d'IA, cette opération s'effectue manuellement par copier-coller[25].
Voir aussi
[modifier | modifier le code]Références
[modifier | modifier le code]- Chin, Jerry M; Chin, Mary H; Van Landuyt, Cathryn, "A String Search Marketing Application Using Visual Programming", The e - Journal of Business Education & Scholarship of Teaching; Sunnybank Hills Vol. 7, Iss. 2, (2013): 46-58.
- ↑ Dr. R. K. Dhanaraj, S. R. Jena, A. K. Yadav, "Mastering Disruptive Technologies", 2021
- ↑ Shrikant Patel, S. R. Jena, "Internet of Things (IoT): Theory and Applications", 2022
- ↑ ABHISHEK A. MUTHA, What's In This Month's DVD?, Electronics for You; New Delhi (Sept, 2015).
- ↑ SourceForge Team, Top 5 Education Software of the Week, 2018
- ↑ Programming Without Coding Technology, AlAllam Magazine (The Scientist Magazine), Issue No 116, 2008
- ↑ Dr. Hend Khalifa, A Visual Programming Language developed by Arab (Alriyadh Newspaper, Saudi Arabia, 2008)
- ↑ Hany Salah, A New Programming Language by an Egyptian programmer (Youm7 Newspaper, Egypt, 2016)
- ↑ Programming WIthout Coding Technology 1.x News
- ↑ Programming Without Coding Technology 2.x News
- ↑ About Textless Coding, 2025
- ↑ PWCT 1.x Download Statistics: All Files
- ↑ SourceForge Team, The Anvil Podcast: Programming Without Coding Technology, 2011
- ↑ Andrei Fercalo, "Programming without coding technology", softpedia, 2025.
- ↑ Fayed, Mahmoud S., Muhammad Al-Qurishi, Atif Alamri, and Ahmad A. Al-Daraiseh. "PWCT: visual language for IoT and cloud computing applications and systems." In Proceedings of the Second International Conference on Internet of things, Data and Cloud Computing, pp. 1-5. 2017.
- ↑ Fayed, Mahmoud S., Muhammad Al-Qurishi, Atif Alamri, M. Anwar Hossain, and Ahmad A. Al-Daraiseh. "PWCT: a novel general-purpose visual programming language in support of pervasive application development." CCF Transactions on Pervasive Computing and Interaction 2, no. 3 (2020): 164-177.
- ↑ Fayed, Mahmoud Samir, and Ahmed Samir Fayed. "Prompt-Driven Development with Claude Code: Developing a TUI Framework for the Ring Programming Language." Electronics 15, no. 4 (2026): 903.
- ↑ Ayouni, Mansour. Beginning Ring Programming. Vol. 978, no. 1. New York, NY, USA: Apress, 2020.
- ↑ Fayed, Mahmoud Samir, and Yousef A. Alohali. "Ring: A Lightweight and Versatile Cross-Platform Dynamic Programming Language Developed Using Visual Programming." Electronics 13, no. 23 (2024): 4627.
- ↑ Paul Krill, "Ring language upgrade focuses on WebAssembly", InfoWorld, 2020
- ↑ Silva, Margarida, João Pedro Dias, André Restivo, and Hugo Sereno Ferreira. "A review on visual programming for distributed computation in iot." In International Conference on Computational Science, pp. 443-457. Cham: Springer International Publishing, 2021.
- ↑ Alohali, Yousef A., Mahmoud S. Fayed, Tamer Mesallam, Yassin Abdelsamad, Fida Almuhawas, and Abdulrahman Hagr. "A machine learning model to predict citation counts of scientific papers in otology field." BioMed Research International 2022, no. 1 (2022): 2239152.
- ↑ Alohali, Yousef A., Mahmoud Samir Fayed, Yassin Abdelsamad, Fida Almuhawas, Asma Alahmadi, Tamer Mesallam, and Abdulrahman Hagr. "Machine learning and cochlear implantation: Predicting the post-operative electrode impedances." Electronics 12, no. 12 (2023): 2720.
- ↑ A Message to the Community
- Fayed, Mahmoud Samir, and Yousef A. Alohali. "PWCT2: A Self-Hosting Visual Programming Language Based on Ring with Interactive Textual-to-Visual Code Conversion." Applied Sciences 15, no. 3 (2025): 1521.
- ↑ Sen, Arnab. "GALADE: A ROUND-TRIP GRAPHICAL MODELLING TOOL FOR ABSTRACTION LAYERED ARCHITECTURE APPLICATIONS." PhD diss., AUCKLAND UNIVERSITY OF TECHNOLOGY, 2021.