Since I was working on programming languages, my plan was to make a commercial grade programming language. Monetizing it would be difficult since there are so many free and open source programming languages out there. The only way I could think to stand out was to make something that hasn't been made before. General purpose programming languages DO exist; Visual programming languages DO exist. As far as I know, general purpose, visual programming languages DO NOT exist. So, that is what I decided to create.
I wrote a blog on my website <https://temware.site/html/blogs/procasm_justification.html> talking about how ProcASM works and some justifications on why developers and companies would consider using it. There is documentation <https://procasm.temware.site/documentation.html> describing ProcASM's concepts in more detail. And, there is a manual <https://procasm.temware.site/manual.html> that describes how to use application itself.
I have examples on the website <https://procasm.temware.site/procedure_view.html> showcasing how procedures are displayed in ProcASM. The images on that page are procedures, created in ProcASM, that were exported to SVG files from ProcASM.
You can try out ProcASM for free in your browser here: <https://procasm.temware.site/demo.html>
If you just want to see examples in ProcASM, use the links below to load projects in the demo.
Sample Project: <https://procasm.temware.site/demo.html?sampleProject=https%3...> Execute the Procedures: *Fibonacci*, *Test: Fizz Buzz*, and *Guess Number* to get an idea on how ProcASM works.
Network Project: <https://procasm.temware.site/demo.html?sampleProject=https%3...> This project contains examples of TCP clients and servers. If your using the browser version, you can load the project and view the procedures. However, you cannot execute any of the procedures in this project since they rely on native dynamic libraries which can't be executed in the browser. If you are using the desktop version, you can execute the procedures: Test TCP Client, Test TCP Server, and Test HTTP Server. This page <https://procasm.temware.site/getting_started.html?show=netwo...> can help you with compiling a dynamic library on you machine.
Support Forum Project: <https://procasm.temware.site/demo.html?sampleProject=https%3...> To ensure that ProcASM was suitable for software development, I decided to create something non-trivial with it; the back-end for the support forum <https://forum-procasm.temware.site>. The project was transpiled to C code using ProcASM (available only for the desktop versions). Then, that C code was compiled on a FreeBSD machine to generate an executable. That executable is running on a FreeBSD server. The *Server* procedure is the *main* procedure for the application. The dynamic library is not available. So, you can only view the procedures in this project.
nizarmah•3h ago
It seems like your program is really capable, but I'm finding the UI extremely overwhelming.
I find myself comparing this to MIT's Scratch, and I know your tool is much more capable, but the user experience makes Scratch so intuitive.
Everything reads like a short sentence, and I can just dive in without understanding what I'm doing.
Any chance this can turn into something like "building legos"?
Blocks can be built exactly like Scratch. And, then, maybe you can map their input/output streams as a way to connect blocks (ideally inferred on the run).
And people can re-use blocks that others have built.
I know this is supposed to be a programming language, not a toy. But, selfishly, I want the UX to feel like it's a toy, so simple to discover it on my own. I can imagine prototyping stuff with it, especially if there's a library of stuff that I can use or contribute to while doing so...
Temdog007•2h ago
I was wondering if the UI might give users some trouble. I had decided to write my own GUI library for this application instead of using an existing one. But now, I think retooling the GUI with an existing GUI library is in order.
> Any chance this can turn into something like "building legos"?
I'm not sure what you mean by "building legos"? Right now, users can create and reuse procedures. Sub-procedures, on the other hand, are tied to a specific procedure. I think this tool can work fine as is for prototyping.
But without a better UI, users may be choosing not use the app at all. So, I'll focus on a UI redesign.
nizarmah•1h ago
I'd love to try this again with a simpler UI. If there's a place I can follow for updates, LMK.