PWCT Features – More
Visual Programming is not new; we already have many visual programming languages (VPLs). These VPLs tends to use different methods to create programs, but most of these languages share the Drag-And-Drop method beside one of the programming paradigms (Imperative, Procedural, Object-Oriented, Event-Driven, Declarative, Functional, Data-flow, etc). And if the visual language generates text based source code, you will find that most of the VPLs support code generation in one language. And if the visual language is General-Purpose, you may find its real applications seems to be in one domain. Also most of the VPLs are used for high level programming tasks.
PWCT is developed to be General in many ways :-
· General in scope (Low Level/High Level , Simple/Large and different programming domains).
· Support different programming paradigms
· Support code generation in different text based programming languages
To provide this for PWCT developers, PWCT is designed as an open architecture that can be extended by adding new components, the components are developed using simple designers and simple scripting language designed for this purpose.
PWCT is developed to be Practical choice for expert programmers :-
· PWCT don’t use Drag-And-Drop, PWCT uses automatic visual representation generation and update based on data entered to forms, and this allows us to use the keyboard to program faster than typing text based code when we implement algorithms. When someone says “Visual Programming is slow; using mouse is not quick as using the keyboard” tell him that this problem is already solved in the PWCT world.
· PWCT uses standard GUI controls (Treeview, Label, Textbox, Checkbox, Editbox, etc) and organize the user interface in different screens where we see each screen alone instead of using one screen for everything. This help in performance, managing complexity and the ability to play programs as movies where the user can concentrate on what is going on.
· PWCT is ready for console applications like (Quick tasks, Servers, etc) and is also ready for GUI development, PWCT comes with a form designer that can get the information from the steps tree and interaction page to display the window controls then give the developer the ability to design the user interface, after that the steps tree and interaction pages are updated to reflect what has been done using the form designer.
· PWCT provide features like Cut/Copy/Paste/Search/Replace and working on multi steps at the same time using the Goal Viewer
Fig. 1 Goal Viewer – Do operations on multiple steps at the same time
To open the goal viewer, from the “Goal” menu, point to “Goal Viewer Window”.
PWCT is developed to help novice programmers to learn programming concepts :-
· Avoid Syntax Errors
· Learn by exploring the environment
· The user interface is language independent, could be (English, Arabic,etc)
· Can play programs as movies to learn how to create the program step by step
· Can run programs in the past to get better understanding of what is going on.
· Many Samples, Tutorials & Movies from Hello World program to complete applications.
Fig. 2 Steps Tree in English and Arabic languages at the same time.
Fig. 3 Samples Manger from the Help menu
Fig. 4 Samples Manager
Using the samples manager you can download samples and find any sample using the search.
When you open any sample, you can use the “Play as Movie” feature to see step by step how to create this sample using PWCT.
Fig. 5 The Time Machine – Play as Movie feature.