Comment by minkles
Comment by minkles a day ago
Those are called functions.
Comment by minkles a day ago
Those are called functions.
> Or programs writing to and others reading from a Unix pipe.
write(message), read() -> message
> Or programs talking to each other using HTTP.
request() -> response
> Or Erlang processes communicating concurrently on one machine or across a network.
sendMess(message), waitMess() -> message
> Or different programs sharing one database.
execute(query) -> response
...
I'm a mathematician at heart so I'm staying away from category theory as long as possible.
This must not be done prematurely. Replacing function calls with processes quickly break “go to definition” and all the other conveniences or guardrails provided by your compiler toolchain.
Unfortunately been dropped into that situation. The system was constantly broken due to missing of malformated arguments. Nobody dared to change anything.
Same applies to prematurely microservicing a monolith. At least there folks seem to be sensible enough to use protobufs or json, instead of loosely typed strings.
The world is full of technologies that are ubiquitous but imperfect.
Sometimes.
Sometimes it is one or more programs writing to a queue or topic, and other programs reading from that topic.
Or programs writing to and others reading from a Unix pipe.
Or programs talking to each other using HTTP.
Or Erlang processes communicating concurrently on one machine or across a network.
Or different programs sharing one database.
Or many objects communicating by passing messages in a small talk program.
There are many ways to encapsulate programs and have them interact.