>> "This particular implementation doesn't strike me as extremely useful, but stepping away form text based files opens up quite a lot of possibilities"
The visual representation could be improved and made easier to customize over time. What truly matters is the concept and the interaction approach, which enable the creation of a general-purpose VPL that can be used for any programming task.
>> "I don't understand the use-case for an programming environment where the program looks like a text file, but I need to click on a while loop and then click on the "condition" field in the details column to edit the condition code with my keyboard, rather than just select the condition code in the main view and type there"
In PWCT2, just click the (Start Point) and press CTRL+L and all of the interaction pages will be opened to quickly modify the input for any component.
PWCT2 is designed to be used in different ways based on the context.
1- If you like writing code, just write code, and PWCT2 will convert it to a visual representation.
2- If you want to explore the environment and learn about the visual components, you can use the mouse to discover and use any component.
3- If you know the component name, just use keyboard shortcuts to create programs quickly.
4- Using the Time Machine and playing programs as a movie, you can read large programs without touching your mouse or keyboard. Just watch while drinking your coffee.
5- The advantages of interaction pages (data-entry forms) become apparent when using large components, such as those representing GUI classes.
6- Using the steps tree, we have drag-and-drop functionality, allowing us to quickly organize the logic of our programs.
PWCT (Programming Without Coding Technology) is designed as a general-purpose visual programming language and is used for developing the Ring programming language Compiler/VM. (Research paper: https://www.mdpi.com/2079-9292/13/23/4627)
With respect to Visual Programming Languages, the main contributions of PWCT are:
2- Using the Time dimension at the program design level, which allows running programs in the past and playing programs as a movie.
3- The first VPL to be used in the development of a Compiler and Virtual Machine for a TPL.
PWCT is influenced by Lava, Forms/3, and Limnor. PWCT2 incorporates more features from other VPLs like Scratch and Envision.
PWCT2 improves upon PWCT by providing a faster, cross-platform environment that supports importing and exporting Ring code. Additionally, the implementation of the environment has been switched from Visual FoxPro to the Ring language. Since PWCT2 supports importing Ring code and is written in Ring, it is a self-hosting VPL. Also, PWCT2 adds the auto-run feature to the Time dimension.
In terms of adding more graphical/symbolic elements, we will address this in PWCT3. Additionally, publishing the PWCT2 source code will enable developers to extend the software in various directions based on their vision.
The design and programming concepts are related to programming, which is part of the software name Programming Without Coding Technology (PWCT). While coding involves writing textual code directly, Visual Programming Languages (VPLs) like Scratch and PWCT still require knowledge of programming concepts and problem-solving. However, they simplify the implementation process by reducing syntax errors and providing a graphical user interface (GUI) that can be in any human language. Visual components increase the level of abstraction, potentially reducing development time.
Syntax highlighting + autocomplete already handle this, and where this actually works against your language, you have the problem every GUI has, inflexibility.
A "coding" language can evolve, structures change, be expressive or verbose. Much like a language.
I doubt your UI can benefit from these abilities, whereas an IDE already provides visual cues etc. that reduce this development time, while preserving the expressiveness of the language.
So, it probably does not reduce the development time, because the tools already solved this problem, and you just have a more clunky verbose, harder to develop language instead.
And the types that aren't coding in the first place are still going to struggle with things like edge cases, etc., so this isn't really democratizing anything either.
In PWCT1 we provide two modes
1. (Free Editor + VPL Compiler) which allows syntax errors and can detect them
2. (Syntax Directed Editor) which prevent errors.
In PWCT2 at the current stage we provide (Free Editor), The (VPL Compiler) will be added to detect errors and the SDE will be added to prevent them as we did in PWCT1.
PWCT2 supports the importation of textual code written in Ring. This allows us to leverage large language models to write the code and then import it. Here is a video demonstration: https://www.youtube.com/watch?v=Fx--dNZvncc
The visual representation could be improved and made easier to customize over time. What truly matters is the concept and the interaction approach, which enable the creation of a general-purpose VPL that can be used for any programming task.
reply