Click here to Skip to main content
15,029,260 members
Articles / Operating Systems / Windows
Posted 23 Nov 2013


46 bookmarked

Programming Without Coding Technology (PWCT)

Rate me:
Please Sign up or sign in to vote.
3.46/5 (46 votes)
23 Nov 2013CPOL5 min read
Introduction to Programming Without Coding Technology


There are many visual programming languages but most of these languages are domain-specific languages that are used in education. But with respect to general-purpose visual programming languages, there are few of them.

The Programming Without Coding Technology (PWCT) is a general-purpose visual programming tool designed for novice and expert programmers. PWCT can be used as a tool to learn programming concepts also it can be used to develop large and/or complex software.

PWCT was conceived in the late 2005 and its implementation was started in January 2006

PWCT 1.0 was released on 18 October 2008 and PWCT 1.9, a major, backwards-compatible release, was released on 7 May 2013 after a long period of testing.

The latest release is PWCT 1.9 (Art) Rev. 2013.10.15

PWCT is free-open source project (


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 contains 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 don’t allow this, also some steps is 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, the programmer 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.


  • General Purpose
  • Visual Programming (More than one dimension, No Syntax Errors, Time Dimension and Colors)
  • Visual Editor (Keyboard shortcuts, Customization, Cut, Copy, Paste, Search and Replace)
  • Syntax Directed Editor (Avoid Errors)
  • Free Editor and VPL Compiler
  • The programmer can see and edit the generated source code
  • The programmer can change the step name and the steps colors
  • Support code generation in C, Python, C#, Harbour and Supernova programming languages
  • The programmer can play programs as movie to learn how to create the program step by step
  • Don't force a programming paradigm
  • Extension (Create new components)
  • Run programs at any point in the past during the development process

Visual Languages

The PWCT visual programming language components are classified into the next categories:

  • HarbourPWCT: Visual Components that generate source code in the Harbour programming language.
  • SupernovaPWCT: Visual Components that generate source code in the Supernova programming language.
  • PythonPWCT: Visual Components that generate source code in the Python programming language.
  • CPWCT: Visual Components that generate source code in the C programming language.
  • C#PWCT: Visual Components that generate source code in the C# programming language.

The programmer can extend PWCT to support code generation in any text based programming language.

PWCT is a visual programming language and reading the text based code is optional.

The programmer can create and modify the programs using the visual source without any interaction with the text based source code.

Hello World Program

  1. Run PWCT
  2. From the menu bar select "File" then "New"
  3. Select the template "Console Application without coding"
  4. Determine the visual source file name, for example Hello.SSF

    Image 1

  5. From the components browser window, select the domain (Print Text) then select the component (Print Text to console) then click OK button or press CTRL+W.

    Image 2

  6. In the interaction page (data-entry form), type the text, then click OK button or press CTRL+W.

    Image 3

  7. Now we see a new step added to the program, Press CTRL+R to run the application.

    Image 4

Open Source Projects

Some of the open source projects that are developed using PWCT are as listed below:

The critical nodes application is a Free Open Source Implementation of a new Localized Algorithm for detection of Critical Nodes.

Image 5

Image 6

The smart POS system is a Free open source project for sales management:

Image 7

Image 8

The Supernova programming language is a Modern scripting language and the first one that presents the concept of programming with direct fiction description using a clear subset of pure human language.

Supernova started as a research and example about what we can do using PWCT:

Image 9

Image 10

You can read more about Supernova from this article.

Points of Interest

If you want to learn programming, create applications/systems or get some new ideas about visual programming in the practice then you can look at PWCT, try it, then decide for yourself if it's useful for you or not.

  1. Free Open Source General Purpose visual programming language
  2. Can be used for developing Microsoft-Windows application (GUI, Database, Simulation, Text Processing, Network, Thread, etc.)
  3. You can find online movies, tutorial and samples.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

No Biography provided

Comments and Discussions

QuestionJust idea... Pin
aston19994-Sep-11 2:12
Memberaston19994-Sep-11 2:12 
AnswerRe: Just idea... Pin
Mahmoud Samir Fayed9-Sep-11 10:30
MemberMahmoud Samir Fayed9-Sep-11 10:30 
GeneralMy vote of 1 Pin
Not Active24-Sep-10 10:40
mentorNot Active24-Sep-10 10:40 
GeneralRe: My vote of 1 [modified] Pin
Mahmoud Samir Fayed24-Sep-10 11:23
MemberMahmoud Samir Fayed24-Sep-10 11:23 
GeneralRe: My vote of 1 Pin
Not Active24-Sep-10 12:04
mentorNot Active24-Sep-10 12:04 
GeneralRe: My vote of 1 [modified] Pin
Mahmoud Samir Fayed24-Sep-10 12:51
MemberMahmoud Samir Fayed24-Sep-10 12:51 
GeneralRe: My vote of 1 Pin
Not Active24-Sep-10 13:24
mentorNot Active24-Sep-10 13:24 
GeneralRe: My vote of 1 Pin
Mahmoud Samir Fayed24-Sep-10 14:27
MemberMahmoud Samir Fayed24-Sep-10 14:27 
GeneralRe: My vote of 1 Pin
Not Active24-Sep-10 18:00
mentorNot Active24-Sep-10 18:00 
GeneralRe: My vote of 1 Pin
Mahmoud Samir Fayed24-Sep-10 19:26
MemberMahmoud Samir Fayed24-Sep-10 19:26 
GeneralRe: My vote of 1 Pin
Not Active25-Sep-10 9:36
mentorNot Active25-Sep-10 9:36 
GeneralRe: My vote of 1 Pin
Mahmoud Samir Fayed25-Sep-10 11:31
MemberMahmoud Samir Fayed25-Sep-10 11:31 
GeneralMy vote of 1 Pin
muhahahahahahaa14-Apr-10 21:58
Membermuhahahahahahaa14-Apr-10 21:58 
Questionpwct message build Pin
wasiman14-Mar-10 16:52
Memberwasiman14-Mar-10 16:52 
AnswerRe: pwct message build Pin
Mahmoud Samir Fayed20-Mar-10 17:59
MemberMahmoud Samir Fayed20-Mar-10 17:59 
GeneralLimited options and slow way Pin
Wael Dalloul5-Aug-09 1:47
MemberWael Dalloul5-Aug-09 1:47 
GeneralRe: Limited options and slow way Pin
Mahmoud Samir Fayed5-Sep-09 7:00
MemberMahmoud Samir Fayed5-Sep-09 7:00 
GeneralNice but..... Pin
christine sarsonas11-Nov-08 14:17
Memberchristine sarsonas11-Nov-08 14:17 
GeneralRe: Nice but..... Pin
Mahmoud Samir Fayed11-Nov-08 19:02
MemberMahmoud Samir Fayed11-Nov-08 19:02 
GeneralGood one Pin
terragenegeystur11-Nov-08 8:13
Memberterragenegeystur11-Nov-08 8:13 
GeneralRe: Good one Pin
Mahmoud Samir Fayed11-Nov-08 18:48
MemberMahmoud Samir Fayed11-Nov-08 18:48 
GeneralHey! Pin
User 433002828-Oct-08 2:18
MemberUser 433002828-Oct-08 2:18 
GeneralRe: Hey! [modified] Pin
Mahmoud Samir Fayed28-Oct-08 5:00
MemberMahmoud Samir Fayed28-Oct-08 5:00 
GeneralRe: Hey! Pin
User 433002828-Oct-08 6:23
MemberUser 433002828-Oct-08 6:23 
GeneralRe: Hey! Pin
Mahmoud Samir Fayed28-Oct-08 6:49
MemberMahmoud Samir Fayed28-Oct-08 6:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.