PWCT

Last updated
PWCT
PWCT 1.9 - Goal Designer.png
Paradigm Multi-paradigm: Visual Programming, imperative, procedural, object-oriented
Designed by Mahmoud Samir Fayed
Developer The PWCT Development Team
First appearedDecember 26, 2005;19 years ago (2005-12-26)
Stable release
2.0 / July 13, 2025;6 days ago (2025-07-13)
Implementation language Visual FoxPro (PWCT 1.x)
Ring (PWCT 2.0)
OS Microsoft Windows (PWCT 1.x)
Windows, Linux and macOS (PWCT 2.0)
License GNU General Public License (PWCT 1.x)
MIT License (PWCT 2.0)
Filename extensions .ssf (PWCT 1.x)
.pwct (PWCT 2.0)
Website doublesvsoop.sourceforge.net OOjs UI icon edit-ltr-progressive.svg

PWCT (Programming Without Coding Technology) is a free open source visual programming language for software development. [1] [2] [3] [4] 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. [5] [6] [7] [8]

Contents

Goal

PWCT is designed to be a general-purpose visual programming language that can be used for applications and systems development. [9] [10] [11] PWCT can also be used for introducing programming concepts.

The environment supports a 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 allows the programmer to select a specific point in time to view. [12]

History

PWCT 1.9 Environment - Data Entry Forms PWCT 1.9 - Data Entry Forms.png
PWCT 1.9 Environment - Data Entry Forms

[13] [14] [15]

Concept

PWCT 1.9 Environment - Components Browser PWCT 1.9 - Components Browser.png
PWCT 1.9 Environment - Components Browser
PWCT 1.9 Environment - Form Designer PWCT 1.9 - Form Designer.png
PWCT 1.9 Environment - Form Designer

The PWCT architecture contains three main layers: [16] [17]

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 "contains" dimension to perform operations on a group of steps/nodes simultaneously (move up/move down/cut/copy/delete), utilize the form designer to create the user interface, and employ the time dimension to track when each step is created (Date & Time) and navigate through the time dimension to view 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. [18]

Features

[19] [20]

Visual languages

The PWCT visual programming language components are classified into the next categories [21]

Usage

Since the textual source code could be generated in different textual programming languages like C and Python, PWCT could be used in developing projects that have different requirements like Internet of Things (IoT) projects, [23] Artificial Intelligence and Machine Learning applications, [24] GUI projects [25] and Text processing applications. [26] Also, PWCT is used for developing and maintaining the Ring programming language Compiler and Virtual Machine [27] [28]

Criticism

See also

References

  1. Fercalo, Andrei (11 March 2014). "Programming without coding technology review". Softpedia.
  2. Al-Khalifa, Hend (29 February 2008). "Free Open Source Visual Programming Language". Al Riyadh. Archived from the original on 27 September 2019. Retrieved 17 September 2024.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  3. Hawas, Mones (23 November 2016). "Developing Programming Without Coding Technology 2.0". youm7.com. youm7.
  4. Mutha, Abhishek A. (September 2015). "This Month's DVD Contents". Electronics For You Magazine. EFY Group.
  5. Almesahuge, Khaled (17 June 2010). "Useful open source projects - Programming Without Coding Technology". Al Riyadh. Archived from the original on 17 June 2019. Retrieved 17 September 2024.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  6. Elsayed, Naglaa (2009). "Programming Without Coding Technology - Innovative Project (offline source)" (PDF). Al Gomhuria. Archived from the original (PDF) on 2019-06-18.
  7. Hawas, Mones (29 May 2018). "Progress in developing PWCT 2.0". youm7.com. youm7.
  8. "Top 5 Education Software of the Week". SourceForge . 27 April 2018.
  9. "Free software: the best freeware from October 2018 - Includes (You can make almost anything with PWCT)". Computer Total Magazine. Computer!Totaal. 7 October 2018. Archived from the original on 4 September 2019. Retrieved 5 July 2019.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  10. "Programming Without Coding Technology Review" (PDF). AL-AALEM Magazine. AL-AALEM the Scientists Magazine, Issue No. 116, Pages 26-27 Deposit number 18/0157. November 2008. ISSN   1319-6545.
  11. 1 2 Chin, Jerry M.; et al. (2013). "A String Search Marketing Application Using Visual Programming" (PDF). e-Journal of Business Education and Scholarship of Teaching.
  12. Frandsen, A. B., Jensen, R., & Lisby, M. Ø. (2013). Auditory & Visual Debugging.
  13. PWCT Team (26 December 2005). "PWCT Home (Sourceforge)". SourceForge.
  14. PWCT Team (13 July 2025). "PWCT News (New Releases)". pwct.org.
  15. BigGo Editorial Team (4 January 2025). "PWCT 2.0, Visual Programming Tool Sparks Debate About Textless Coding". biggo.id.
  16. Phalake, V.S. and Joshi, S.D. Low Code Development Platform for Digital Transformation. In Information and Communication Technology for Competitive Strategies (ICTCS 2020) (pp. 689-697). Springer, Singapore.
  17. da Silva, A.M.O.P., Orchestration for Automatic Decentralization in Visually-defined IoT, 2020.
  18. PWCT Team (2 January 2021). "PWCT Environment Reference". pwct.org.
  19. PWCT Team. "Visual Programming in PWCT". pwct.org.
  20. PWCT Team. "PWCT Features - Practical Editor". pwct.org.
  21. SRINIVAS N.C. A (January 2013). "Educational Software Tools - Programming Without Coding Technology - Electronics For You Magazine" (PDF). EFY Group.
  22. PWCT Team (5 January 2025). "PWCT2 visual components". pwct.org.
  23. Patel, S. and Jena, S.R., 2022. Internet of Things (IoT): Theory and Applications. Scholars' Press.
  24. Dhanaraj, R.K., Jena, S.R., Yadav, A.K. and Rajasekar, V., 2021. Mastering Disruptive Technologies: Applications of Cloud Computing, IoT, Blockchain, Artificial Intelligence & Machine Learning Techniques. HP Hamilton Limited, UK.
  25. Alohali, Y.A. et al, A machine learning model to predict citation counts of scientific papers in otology field. BioMed Research International, 2022.
  26. Alohali, Y.A. et al, 2023. Machine Learning and Cochlear Implantation: Predicting the Post-Operative Electrode Impedances. Electronics, 12(12), p.2720.
  27. Fayed, Mahmoud Samir, and Yousef A. Alohali. "Ring: A Lightweight and Versatile Cross-Platform Dynamic Programming Language Developed Using Visual Programming." Electronics 13, no. 23 (2024): 4627.
  28. Ayouni, M., 2020. Beginning Ring programming (Vol. 978, No. 1, pp. 4842-5832). Apress.
  29. Sen, Arnab. GALADE: A Round-Trip Graphical Modelling Tool for Abstraction Layered Architecture Applications. Diss. Auckland University of Technology, 2021.

Further reading