PWCT Features – Programming Scope

 

PWCT is a General Purpose Visual Programming System, we can use PWCT to create different types of applications, and we can extend the system by supporting more textual programming languages to get more power.

 

We can create large scale applications using PWCT, our project could be a group of sub projects interacting together.

 

Each project or subproject could contains one or more of visual source files (*.SSF & *.FPT).

 

For example, a course management system developed using PWCT in 2011, contains 104 visual source files (*.SSF) in the same project.

 

v1.png

Fig. 1 List of *.SSF files in the Course Management System – Developed using PWCT.

 

Each visual source file could contain one or more of goals.

 

Each goal could contain one or more of functions/procedures.

 

Each goal could contain one or more of classes.

 

Each goal could generate one or more of text based source code files (This feature is very useful when we use a visual programming language like CPWCT where we need to generate the source file (*.c) and the header file (*.h) from the same visual source file (*.SSF) ).

 

Each goal could contain hundreds or thousands of steps.

 

You can create very large scale applications using PWCT, but you will need large space on your hard disk, also break your project to more than one visual source file (Divide and Conquer) and avoid putting thousands of steps in the same goal to get high performance, clear design. Also this gives the ability for more than one programmer to work on the same project at the same time.

 

At the time of this writing (2013/09/28 10:11 PM), we have a collection of visual programming languages inside PWCT to choose from as a tool for developing our applications.

 

Index

Visual Programming Language

Development Status

Features & Usage

 

1

 

HarbourPWCT

 

Stable/Production

 

Very High level programming tool.

 

General Purpose programming tool

 

Imperative, Procedural, Object-Oriented & Event-Driven.

 

Create MS-Windows GUI applications (Desktop & Client/Server).

 

Distribute standalone Executable files (*.EXE)

 

Database : xBase (*.DBF) & (ADO)

You can use MS-Access, SQL Server, MySQL & any database supported by ADO.

 

Sockets & Network Programming (TCP/IP)

 

Multithreading Support.

 

Call DLL Functions .

 

OLE Automation .

 

Develop multiplatform (MS-DOS, Windows, Linux & Mac OS X) console applications.

 

Many templates to create object-oriented database applications quickly.

 

Used for creating many projects like the Supernova programming language, Critical Nodes & Smart POS System.

 

 

2

 

SupernovaPWCT

 

Stable/Production

 

Very simple visual programming language.

 

Learn some of the programming concepts (Variables, Arrays, Control Structures,  Procedures, GUI & Event-Driven).

 

You can use it to create simple GUI applications that work on Windows & Linux.

 

 

3

 

CPWCT

 

Stable/Production

 

Low Level programming. 

 

General Purpose.

 

The power of the C programming language.

 

You can create programs that can be compiled using any ANSI C compiler.

 

 

4

 

PythonPWCT

 

Under Development

 

High Level Programming.

 

General Purpose.

 

Get access to Python Libraries.

 

Create GUI Applications (Multiplatform).

 

Simple for CGI programming.

 

 

5

 

C#PWCT

 

Under Development

 

 

High Level Programming.

 

General Purpose.

 

Get the power of the .NET Framework.

 

Table1. Visual Programming Languages inside PWCT

 

From the previous table, It is clear that we can do high level programming using visual languages like (HarbourPWCT, SupernovaPWCT & PythonPWCT) and/or we can do low level programming using the CPWCT visual programming language.

 

The next figure presents a steps tree while using the SupernovaPWCT visual programming language.

 

High level programming let the developer concentrate on the task, and get an easy to read and understand steps tree.

 

Fig. 2 High level programming using SupernovaPWCT

 

 

The next figure presents a steps tree while using the CPWCT visual programming language.

 

A Low level programming language, give the programmer direct access to the machine resources like the memory, for example the programmer can control the operations of allocating/freeing the memory and can access data at the bit level.

 

CPWCT gives us the power of the C programming language but in a visual programming world where we can see the program instructions as a tree of steps, we can avoid syntax errors, we don’t need to remember many things, we can explore the language components.

 

Introducing the C programming language concepts to students could be a more fun in a visual programming world.

 

The productivity gain when we uses CPWCT, the ability to customize the environment and the flexibility to create new visual components are attractive features for expert programmers to develop some of their C programs using CPWCT.

 

 

Fig.3 Low Level programming using CPWCT

 

The next figures presents some of the free open source projects developed using PWCT

 

image004.jpg

Fig. 4 SOMALI-QURAN.

 

image005.jpg

Fig. 5 Smart POS System.

 

 

image006.jpg

Fig. 6 Critical Nodes.

 

 

image007.jpg

Fig. 7 Super Programming Languages.

 

 

Index

Project Name

URL

 

1

 

 

SOMALI-QURAN

 

http://sourceforge.net/projects/somaliquranpwct/

 

2

 

Smart POS System

 

 

http://sourceforge.net/projects/pos-sys/

 

3

 

 

Critical Nodes

 

http://sourceforge.net/projects/criticalnodes/

 

 

4

 

Supernova programming Language

 

http://sourceforge.net/projects/supernova/

 

Table2. Open Source projects developed using PWCT.

 

 

 

HOME