
gittech. site
for different kinds of informations and explorations.
PWCT2: Programming Without Coding Technology – Written in Ring
Programming Without Coding Technology (PWCT) 2.0
📖Contents:
- 📘Introduction
- ⚡The concept and related projects
- 🎯Features
- 🚀Running PWCT 2.0 from Source Code (Windows/Linux/macOS)
- 🎮Get PWCT 2.0 from Steam (Windows)
- 📄Documentation
- 🖼️Screen Shots
- 📸Videos
- 📚Publications
- 📝License
📘Introduction
Apply programming concepts and develop applications and 2D games.
PWCT2 is a visual programming language designed for enjoying visual programming and interactive visualization.
It is written in the Ring programming language and supports importing and exporting Ring code.
⚡The concept and related projects
PWCT introduces innovative concepts to the realm of visual programming languages (VPLs), such as the Graphical Code Replacement (GCR) method, which replaces the traditional Drag-and-Drop approach. GCR is based on Automatic Steps Tree Generation and Update in response to interaction with components that provide to the user simple data entry forms. The idea behind this new method is to mix between programming using Diagrammatic approach and programming using Form-based approach where the integration between the two approaches are done seamlessly through an Automatic Visual Representation Generation process. Additionally, PWCT integrates the Time Dimension at the program design level and includes a feature to play programs as a movie, enabling step-by-step implementation visualization. However, the design of PWCT is influenced by projects such as Lava, Forms/3, Limnor, Scratch, and Envision.
🎯Features
Visual Programming with Mouse: This mode is useful for browsing components and exploring the system's offerings.
Visual Programming with Keyboard Shortcuts: If you know the component name, you can avoid using the mouse and accomplish everything with the keyboard.
Reading/Modifying Programs through Visual Components and Time Machine: You can read and modify programs using visual components and the Time Machine. Additionally, playing programs as movies is a convenient way to enjoy reading programs without using the mouse or keyboard; just click play and watch.
Textual Programming: You can type Ring code directly at any location in the Steps Tree, and the environment will convert it to a visual representation. This approach combines the writability of textual programming with the readability of visual programming.
Self-hosting VPL: A complete version of PWCT2, developed using PWCT2 (see folder: pwct2/selfhosting)
These features and different modes are designed to accommodate various programming preferences. If you prefer textual programming, simply write code. If you prefer visual programming through the mouse or keyboard, those options are available as well.
🚀 Running PWCT 2.0 from Source Code (Windows/Linux/macOS)
💾Install the Ring programming language from https://ring-lang.github.io
📥Get a copy from the source code
git clone https://github.com/pwct/pwct2
▶️Run the main source file
cd pwct2
ring pwct.ring
🎮Get PWCT 2.0 from Steam (Windows)
URL: https://store.steampowered.com/app/1953110/Programming_Without_Coding_Technology_20/
Alternatively, you can check GitHub releases to download a binary release for Windows: https://github.com/PWCT/PWCT2/releases
📄Documentation
Check the Documents folder for HTML/CHM/PDF files.
Online version: https://doublesvsoop.sourceforge.net/pwct2
🖼️Screen Shots
📸Videos
The next videos demonstrates some of the PWCT 2.0 features:
- Introduction to PWCT 2.0
- Templates & AutoRun
- Web Development
- From Natural Language to Visual Programming
🚶Tutorials
- 1 - Print Text component
- 2 - Goal Designer features
- 3 - Get Input component
- 4 - Rich Comments (Adding Images)
- 5 - Get Character/Characters
- 6 - Quick Start component
- 7 - Arithmetic & logical operators
- 8 - Relational operators
- 9 - Increment/Decrement & Logical NOT
- 10- ElseIf/Switch/While Loop/Shutdown
- 11- While Loop/For Loop/Loop/Exit
- 12- Nested For Loops
- 13- For In/Range Operator
- 14- Using Do/Again
- 15- Using Try/Catch
- 16- Using cCatchError
- 17- Using Functions
- 18- Return value from functions
- 19- Global/Local variables
- 20- Recursion
- 21- Short Circuit Evaluation
- 22- Conditions/Len/Min/Max
- 23- Multiplication Table
- 24- Using many files in the project
- 25- Using lists/Add/Delete/Find/Reverse/Sort
- 26- Multi-Dimensional Lists/2D Lists
- 27- Using Lists as HashTable
- 28- Using Strings
- 29- Using Date/Time
- 30- Check Data Type
- 31- Math Functions
- 32- Using Files
✨More videos
- String Length
- Adding user input to a list
- GUI - Button & Click Event
- RayLib Library & FlappyBird3000
- Read-only TextEdit
- Creating a Menubar
📚Publications
- Fayed, Mahmoud Samir, and Yousef A. Alohali. "PWCT2: A Self-Hosting Visual Programming Language Based on Ring with Interactive Textual-to-Visual Code Conversion." Appl. Sci. 2025,15, 1521.
- 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.
- 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 (2020): 164-177.
- 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.
📝License
The PWCT 2.0 software is distributed under the MIT License.