Drawing Code
2024-08-24
Drawware is about expressing machine control as diagrams. Drawware is not about drawing pictures.
When we write a textual program, we use words from the English language to represent operations. We simply use a few, selected English words to represent operations. Words like “if”, “function”, “while”, “for”, etc. We don’t expect to flip back and forth between War and Peace and machine control. When we write War and Peace in a text editor, we don’t expect to be able to flip back and forth between a Javascript version of War and Peace and a type-set version of War and Peace.
Likewise, in Drawware, we use a few, selected graphical figures to represent operations, like “rectangle”, “arrow”, “ellipse”, etc. We don’t expect to parse just any drawing or just any painting, and, we don’t expect to flip back and forth between Javascript code and Drawware code.
Our choices of figures define a language that can control machines. For example, a rectangle might be chosen to mean an operation, an arrow might represent one-way data transfer (aka “message passing”), ellipses that intersect rectangles represent ports that further restrict and funnel one-way data transfers.
Some concepts are better represented in a DPL (diagrammatic programming language) and some concepts are better represented in a TPL (textual programming language).
I believe that DPLs represent containment and concurrency and message-passing better than TPLs do. OTOH, I conclude that TPLs represent mathematical equations better than DPLs do.
See Also
References: https://guitarvydas.github.io/2024/01/06/References.html
Blog:
https://guitarvydas.github.io/
Videos: https://www.youtube.com/@programmingsimplicity2980
Discord: https://discord.gg/Jjx62ypR
Leanpub: https://leanpub.com/u/paul-tarvydas
Gumroad:
https://tarvydas.gumroad.com
Twitter: @paul_tarvydas

