
A general purpose, visual programming language designed for desktop computers. Instead of writing code, developers use a set of predefined tasks to implement algorithms.
A general purpose, visual programming language designed for desktop computers. Instead of writing code, developers use a set of predefined tasks to implement algorithms.
Hello, ProductHunt. I'm excited to showcase my app, ProcASM (which is an acronym for Procedures as State Machines).
What?
ProcASM is a low-code, visual programming language designed to help developers create and develop software in a new way. It is designed for desktop computers. However, there is a free version that you can try in your web browser.
How?
ProcASM “code” can be broken down into 5 concepts:
Task
An operation that creates or modifies data. ProcASM contains a predefined set of tasks.
Sub-Procedure
Contains a list of tasks that it will perform as part of its execution.
Signal
Outputted by a Sub-Procedure after its done executing. Sub-Procedures are connected through these signals. When a Sub-Procedure outputs a signal when it completes, another Sub-Procedure will start executing its tasks.
Procedure
A set of Sub-Procedures connected together through Signals.
State Machine
An instance of a Procedure. A program is started by creating and executing one State Machine. The execution of that State Machines may involve creating and executing new State Machines. Thus, State Machines are the foundation of this programming language.
Why?
• Text-based programming languages are a well explored field. Visual programming languages, on the other hand, are not.
• Most visual programming languages that exist now are just experiments or education tools to be used by novice developers. This language was designed to be used by developers of all levels who want to design, develop, and ship actual software.
• Visual programming languages allow for consistency with how all algorithms are organized, structured, and displayed. This makes it easier to onboard developers into projects using a visual programming language.
Other Features
• Interpreter that executes code without compilation. The interpreter allows for:
◦ Pausing and resuming execution
◦ View all state machines and their values during execution
◦ Automatically pausing execution when breakpoints are reached or when watches are triggered
• C/C++ Transpiler to allow compiling ProcASM projects to native binaries
• Exporter to convert ProcASM Procedures to SVG or DOT files to be viewed in a web browser or image viewer
• Project Comparator
◦ Generate an HTML file describing the differences between 2 projects. This is a useful feature for source control and pull requests
Questions?
Feel free to ask any questions below. I’m ready to chat today.