Little Networks
2025-09-23
The concept of “programming language” in my mind, is an out-dated attempt at creating environments and workflows for programming hardware based on 1960s biases - i.e. many applications running on one CPU.
Because the target was single CPUs, we favoured the ideas of synchronous/sequential thinking.
Today, though, hardware is vastly different and the goals of programming have been flipped 180 degrees. It is imaginable to create machines with 1,000s of “CPUs” (Arduinos or other kinds of cheapo, small computers). Programming these kinds of things is no longer about creating a synchronous/sequential programming language for one CPU at a time, but is about creating little networks of these things.
The ideas that worked for single CPUs - e.g. programming languages and preemptive operating systems - are no longer meaningful in a domain that includes zillions of CPUs.
On top of that, the concept of “general purpose CPUs” is melting away. We no longer need “general purpose” CPUs replete with virtual memory, caches, etc. Instead, we need super-special-purpose devices like GPUs and, simpler, dumber choreographer CPUs that just mete out instructions to the special-purpose devices. Instead of creating concurrent applications on a single “general purpose CPU”, we need to think about simulating zillions of isolated RMs (“computers” - Reprogrammable Machines) using recursive “little networks” and then deploying programs to a network of such actual hardware.
See Also
Email: ptcomputingsimplicity@gmail.com
Substack: paultarvydas.substack.com
Videos: https://www.youtube.com/@programmingsimplicity2980
Discord: https://discord.gg/65YZUh6Jpq
Leanpub: [WIP] https://leanpub.com/u/paul-tarvydas
Twitter: @paul_tarvydas
Bluesky: @paultarvydas.bsky.social
Mastodon: @paultarvydas
(earlier) Blog: guitarvydas.github.io
References: https://guitarvydas.github.io/2024/01/06/References.html


What do you think of the Actor model as a formal description of the kind of asynchronous parallelism you've been talking about?