- 📘Introduction
- 🖼️Screen Shots
- ⚡The concept and related projects
- 🎯Features
- 🚀Running PWCT 2.0 from Source Code (Windows/Linux/macOS)
- 🎮Get PWCT 2.0 from Steam (Windows)
- 📄Documentation
- 📸Videos
- 📚Publications
- 📝License
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.
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.
It supports various modes:
-
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.
These 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.
💾Install the Ring programming language from https://ring-lang.github.io
git clone https://github.com/pwct/pwct2
cd pwct2
ring pwct.ring
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
Check the Documents folder for HTML/CHM/PDF files.
Online version: https://doublesvsoop.sourceforge.net/pwct2
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
- 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
- String Length
- Adding user input to a list
- GUI - Button & Click Event
- RayLib Library & FlappyBird3000
- Read-only TextEdit
- Creating a Menubar
- 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.
The PWCT 2.0 software is distributed under the MIT License.