Paradigm | Multi-paradigm: Visual Programming, imperative, procedural, object-oriented |
---|---|
Designed by | Mahmoud Samir Fayed |
Developer | The PWCT Development Team |
First appeared | December 26, 2005 |
Stable release | 1.9
/ February 4, 2024 |
Implementation language | Visual FoxPro |
OS | Microsoft Windows |
License | GNU General Public License |
Filename extensions | .ssf |
Website |
doublesvsoop |
PWCT (Programming Without Coding Technology) is a free open source visual programming language for software development. [1] [2] [3] [4] The project was founded in December 2005 as a free open-source project that supports designing applications through visual programming then generating the source code. The software supports code generation in many textual programming languages. [5] [6] [7] [8]
PWCT is designed to be a general-purpose visual programming language that can be used for applications and systems development. [9] [10] [11] PWCT can also be used for introducing programming concepts.
The environment supports a time dimension where the programmer can play programs as a movie to learn how to create them step-by-step and get better understanding of the program logic. Changing time is done using a timeline slider which allows the programmer to select a specific point in time to view. [12]
The PWCT architecture contains three main layers: [15] [16]
The visual source inside PWCT is designed using the Goal Designer where the programmer can generate the steps tree through the interaction with the visual language components.
Inside PWCT, the visual source is a collection of goals, each goal contains tree of steps and each step/node inside the steps tree may contain one or more of data entry forms. Steps tree uses colors that tell the programmer about the step type. Some steps allow containing sub steps, other steps do not allow this, also some steps are not more than comments for the programmer. The steps tree gives the programmer two dimensions where the relationship between the node and another node could be "next to" or "contains" where the programmer can go depth-first or breadth-first when he/she interacts with the steps tree.
The programmer can use the dimension "contains" to do an operation on a group of steps/nodes at the same time (move up/move down/cut/copy/delete).
The programmer can use the form designer to design the user interface.
The programmer can use the time dimension where he/she can know when each step is created (Date & Time) and can move along the time dimension to see only the steps at any point during the development process.
Inside the Goal Designer, the user can use the mouse or the keyboard to select the visual components and generate new steps in the steps tree. Using the mouse we can explore the environment to see the components that are ready for use. Using the Keyboard by typing the component name, the programmer can quickly get any component and start using it.
The PWCT visual programming language components are classified into the next categories [20]
Since the textual source code could be generated in different textual programming languages like C and Python, PWCT could be used in developing projects that have different requirements like Internet of Things (IoT) projects, [21] Artificial Intelligence and Machine Learning applications, [22] GUI projects [23] and Text processing applications. [24]
Paradigm | Multi-paradigm: Visual Programming, imperative, procedural, object-oriented |
---|---|
Designed by | Mahmoud Samir Fayed |
Developer | The PWCT Development Team |
First appeared | December 26, 2005 |
Stable release | 1.9
/ February 4, 2024 |
Implementation language | Visual FoxPro |
OS | Microsoft Windows |
License | GNU General Public License |
Filename extensions | .ssf |
Website |
doublesvsoop |
PWCT (Programming Without Coding Technology) is a free open source visual programming language for software development. [1] [2] [3] [4] The project was founded in December 2005 as a free open-source project that supports designing applications through visual programming then generating the source code. The software supports code generation in many textual programming languages. [5] [6] [7] [8]
PWCT is designed to be a general-purpose visual programming language that can be used for applications and systems development. [9] [10] [11] PWCT can also be used for introducing programming concepts.
The environment supports a time dimension where the programmer can play programs as a movie to learn how to create them step-by-step and get better understanding of the program logic. Changing time is done using a timeline slider which allows the programmer to select a specific point in time to view. [12]
The PWCT architecture contains three main layers: [15] [16]
The visual source inside PWCT is designed using the Goal Designer where the programmer can generate the steps tree through the interaction with the visual language components.
Inside PWCT, the visual source is a collection of goals, each goal contains tree of steps and each step/node inside the steps tree may contain one or more of data entry forms. Steps tree uses colors that tell the programmer about the step type. Some steps allow containing sub steps, other steps do not allow this, also some steps are not more than comments for the programmer. The steps tree gives the programmer two dimensions where the relationship between the node and another node could be "next to" or "contains" where the programmer can go depth-first or breadth-first when he/she interacts with the steps tree.
The programmer can use the dimension "contains" to do an operation on a group of steps/nodes at the same time (move up/move down/cut/copy/delete).
The programmer can use the form designer to design the user interface.
The programmer can use the time dimension where he/she can know when each step is created (Date & Time) and can move along the time dimension to see only the steps at any point during the development process.
Inside the Goal Designer, the user can use the mouse or the keyboard to select the visual components and generate new steps in the steps tree. Using the mouse we can explore the environment to see the components that are ready for use. Using the Keyboard by typing the component name, the programmer can quickly get any component and start using it.
The PWCT visual programming language components are classified into the next categories [20]
Since the textual source code could be generated in different textual programming languages like C and Python, PWCT could be used in developing projects that have different requirements like Internet of Things (IoT) projects, [21] Artificial Intelligence and Machine Learning applications, [22] GUI projects [23] and Text processing applications. [24]