HOME

TheInfoList



OR:

PWCT is a free open source
visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...
for
software development Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invol ...
.


Goal

Programming Without Coding Technology (PWCT) is designed to be a general-purpose visual programming language that can be used for applications and systems development. PWCT can also be used for introducing programming concepts. 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 A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
. The environment support the 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 allow the programmer to select a specific point in time to view.


History

* PWCT was registered on
SourceForge SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirrorin ...
in December 2005 * PWCT 1.0 was released on 18 October 2008 * PWCT 1.1 was released on 20 February 2009 * PWCT 1.2 was released on 4 May 2009 * PWCT 1.3 was released on 30 May 2009 * PWCT 1.4 was released on 28 August 2009 * PWCT 1.5 was released on 27 March 2010 * PWCT 1.6 was released on 16 May 2010 * PWCT 1.7 was released on 15 September 2010 * PWCT 1.8 was released on 18 October 2011 (Last update : 22 April 2013) * PWCT 1.9 was released on 7 May 2013 (Latest update : 2 January 2021)


Concept

The PWCT architecture contains three main layers: * The VPL Layer that provide functionality to perform a specific task. * The Middle Layer that provide interface between the User view and the System Layer. * The System Layer that generate executable code in different languages. 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.


Features

* 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 Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
, C#,
Harbour A harbor (American English), harbour (British English; see spelling differences), or haven is a sheltered body of water where ships, boats, and barges can be docked. The term ''harbor'' is often used interchangeably with ''port'', which is a ...
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 Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. Some paradigms are concerned mainly with implications for the execution model of the language, suc ...
. * 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 * CPWCT : Visual Components that generate source code in the C programming language. * PythonPWCT : Visual Components that generate source code in the Python programming language. * HarbourPWCT : Visual Components that generate source code in the Harbour programming language. * SupernovaPWCT : Visual Components that generate source code in the Supernova programming language. * C#PWCT : Visual Components that generate source code in the C# programming language.


Criticism

* The PWCT software still requires that the user have a familiarity of programming structures such as the While-Loop and the If-Then. Syntax errors are decreased but the logic and analysis of the program solution are still created, developed and judged by the user. * PWCT try to innovate and provide a new way of viewing software design, However, such innovation comes at a cost. PWCT focuses on the visualization of code blocks in a structure that they describe as a "Steps Tree", which mirrors the nested structure seen in regular textual programming languages. Also PWCT do not have strong inherent support for visualizing code as diagrams, no strong support for Abstraction Layered Architecture (ALA) applications.Sen, Arnab. GALADE: A Round-Trip Graphical Modelling Tool for Abstraction Layered Architecture Applications. Diss. Auckland University of Technology, 2021.


See also

*
Alice (software) Alice is an object-based educational programming language with an integrated development environment (IDE). Alice uses a drag and drop environment to create computer animations using 3D models. The software was developed first at University of V ...
*
LabVIEW Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a system-design platform and development environment for a visual programming language from National Instruments. The graphical language is named "G"; not to be confused with G-co ...
* Lava (programming language) *
Prograph Prograph is a visual, object-oriented, dataflow, multiparadigm programming language that uses iconic symbols to represent actions to be taken on data. Commercial Prograph software development environments such as Prograph Classic and Prograph CP ...
*
Scratch (programming language) Scratch is a high-level block-based visual programming language and website aimed primarily at children as an educational tool for programming, with a target audience of ages 8 to 16. Users on the site, called Scratchers, can create projects ...
*
Visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...


References


Further reading

* Fayed, Al-Qurishi, Alamri, et al. (2020)
PWCT: a novel general-purpose visual programming language in support of pervasive application development
',
Springer Springer or springers may refer to: Publishers * Springer Science+Business Media, aka Springer International Publishing, a worldwide publishing group founded in 1842 in Germany formerly known as Springer-Verlag. ** Springer Nature, a multinationa ...
* Fayed, Al-Qurishi, Alamri, Aldariseh (2017)
PWCT: visual language for IoT and cloud computing applications and systems
', ACM * Fayed (2017)
General-Purpose Visual Language and Information System with Case-Studies in Developing Business Applications
',
King Saud University King Saud University (KSU, ar, جامعة الملك سعود) is a public university in Riyadh, Saudi Arabia. Established in 1957 by King Saud bin Abdulaziz to address the country's skilled worker shortage, it is the first university in the K ...
* Fayed (2013)
Using C#.NET through Programming Without Coding Technology
',
Code Project Code Project (formerly The Code Project) is a community for computer programmers with articles on different topics and programming languages such as web development, software development, C++, Java, and other topics. Once a visitor registers a us ...
* Fayed (2013)
Using Python inside Programming Without Coding Technology
',
Code Project Code Project (formerly The Code Project) is a community for computer programmers with articles on different topics and programming languages such as web development, software development, C++, Java, and other topics. Once a visitor registers a us ...
* Fayed (2013)
The Time Machine and the PWCT Visual Programming Language
',
Code Project Code Project (formerly The Code Project) is a community for computer programmers with articles on different topics and programming languages such as web development, software development, C++, Java, and other topics. Once a visitor registers a us ...


External links

* {{Official website Computer languages Visual programming languages