A general purpose, visual programming language.
ProcASM is a general purpose, visual programming language that emphasizes the State Machine design pattern for creating software.
In ProcASM, State Machines are instances of Procedures and make up the entire foundation of this language. There are no Data Structures, Enumerations, Functions, etc.
Procedures are a series of Sub-Procedures connected through Signals.
Sub-Procedures are a series of tasks that create, modify, or delete data.
State Machines execute until they reach a yield task. Then, they store the requested variables and will resume at the point it previously stopped.
Instead of memorizing syntax and writing code, developers use a set of predefined tasks to implement algorithms. See documentation for more details.
Key Features of ProcASM
An feature-full IDE that execute fully in a web browser.
Developers can execute Procedures and debug them using multiple features like:
Export your projects to Markdown/HTML for easy, readable documentation using descriptions you've supplied. This is a useful feature for developers who need to provide documentation of how their software functions to other developers, project managers, technical writer, etc.
Projects are all stored in a project file. Developers can use ProcASM to compare two different project files and display the differences between the two of them. This is a useful feature for software projects that utilize version control.
Adding database functionality to ProcASM. Rather than having to setup another database process and learn a new language like SQL, developers using ProcASM could use the database concept built into the language.
New update. User interface has been refactored to be more pleasant and easier to work with. Tutorial videos have been added to the web application for ease of use. Other numerous bug fixes and improvements.
Add numerous features to improve ProcASM.
ProcASM has been updated to version 1.1.0. This new version changes the entire architecture. Before, users would have to download the application, with a native UI, to create and execute projects. Now, front-end and back-end of the the application has been separated. The front-end code is now all implemented in JavaScript to support running entirely in the web browser. The back-end is a web server that executes commands from the front-end to perform operations. There are more details about the architecture of ProcASM.
Currently, this free trial version of ProcASM is the only version available. This version has limited features compared to the full version.
ProcASM has been updated to version 1.3.0. This new version overhauls the entire UI to be more user friendly. Before, all menus were put into windows that could be moved and minimized like in a typical window manager. This wasn't ideal for mobile users. So now, the UI keeps all menus in a side panel. The main content of the app will always display the graph to show current procedure. In addition, some internal changes were made to make the app more responsive. This included taking operations that were previously handled by the server, and moving them to the client using Web Assembly.
While implementing a database concept was originally planned for this version, this idea has been scrapped. More details will be available in an upcoming blog post on the main site. However, there are still plans to add database like functionality using buckets. Buckets, in ProcASM, will be a new data type that will allow users to iterate on a container of elements in the order of a state and field of a state machine. Thus, users will get the benefits of a hash map and a database query with one data type.