PWCT Blog


PWCT 1.9 (Art) - Development



Hello

In this article I am going to talk about some of the new features in the next release PWCT 1.9 (Art)

Contents:

1 - Introduction

2 - CPWCT

3 - Read Mode

4 - Colors

5 - Syntax Directed Editor (SDE)

6 - VPL (Visual Programming Language) Compiler

7 - Still works fine on Linux using Wine (Like PWCT 1.8)

1 - Introduction

Our goal is to attract end users to real programming concepts and to help novice programmers in their learning process and to enable expert programmers to develop large/complex software in short time.

All of this together requires very high level of customization & extension which makes PWCT a unique product where new research ideas is applied quickly to satisfy our users.

Fig. 1 (PWCT Logo)

2 - CPWCT

One of the new features in the next release is the support for the C programming language

We are looking to support C, C++, Qt & OpenCV

We will start with C then we will move quickly in this way

Our goal is to develop PWCT 2.0 using PWCT 1.9 based on C/C++ & Qt

Developing PWCT using PWCT is possible and easy using HarbourPWCT but we are looking to develop it based on C/C++ to see how much it's easy to rule a language like C/C++ when we access it through a visual programming language inside PWCT and to get high performance.

Fig. 2 (CPWCT)

3 - Read Mode

One of the new features in PWCT 1.9 (Art) is the choice to work in Normal Mode, Read Mode or Read & Design mode.

Fig. 3 (Normal Mode)

Fig. 4 (Read Mode)

Fig. 5 (Read & Design Mode)

Our statistics show that the read mode reduce the number of visible steps by a good percentage.

Fig. 6 (PWCT Log.)

4 - Colors

One of the new features in the next release is a window to determine the step color based on the step type

From this window you can hide some types of steps to get the (Read Mode) or the (Read & Design Mode).

Fig. 7 (Steps Colors)

5 - Syntax Directed Editor (SDE)

One of the new features in the next release is a Syntax Directed Editor (Optional)
Using it you will be restricted by doing action that leaves your program source (Steps Tree) in a correct state (Prevent Errors).


for example when you use IF Statement component

You cann't Ignore or delete the step (End of IF Statement)

because deleting it will lead to (Unclosed control structure) error


Another example when you create new window You will use the step (Window Controls) to add new controls
The syntax directed editor will prevent you from adding any other types of components 
Another complex case after adding the window controls you cann't Ignore/comment the window without doing the same operation for the window controls.

A clear advantage the syntax directed editor when you open the components browser will show you only the components that can be added to the step selected in the start of the interaction process.


The disadvantage of using Syntax Directed Editor is preventing us from making a radical change quickly so it's (Optional).


In my opinion i make it optional because i want in the future to tell my children that one day in the past programmers can make syntax error by missing somthing then i will disable the syntax directed editor and i will show them how to make syntax errors.

Fig. 8 (Syntax Directed Editor)

6 - VPL (Visual Programming Language) Compiler

The best new feature (In my opinion) in the next release PWCT 1.9 (Art) comes with thousands lines of code behind it

The new feature is a VPL (Visual Programming Language) Compiler

When you disable the Syntax Directed Editor (To make radical changes faster) you could/can make Errors

Don't waste your time reading the steps tree to discover the error

The VPL Compiler know the visual language and will get your steps tree as input then using rules it will parse the input then will report the errors.

You can understand from the error message what is the problem and you can go directly to the error position.

Fig. 9 (VPL Compiler)

7 - Still works fine on Linux using Wine (Like PWCT 1.8)

We are testing PWCT 1.9 (Art) on Linux using Wine (Works fine without any problems)

Fig. 10 (Installing PWCT on Linux using Wine)


Fig. 11 (Testing PWCT on Linux using Wine)