Huh? I currently work with some of the technologies you mention, but fail to see the connection to systems theory. Can you elaborate why e.g. jq or Erlang are relevant here?
- There is general systems theory [0] and within that systems engineering[1] where you will find software systems [2]
- OP is most likely talking about how to use of general theory of systems in different domains and not specifically software systems.
- If one considers JQ, SED and "One input stream, one output stream" and then compares that to a model of a system using a CLD (Causal Loop Diagram). A CLD is effectively "An input, followed by an output"
- Another word that could be used for "input stream" would be 'flow' from system dynamics [3]
- One could apply general systems theory (the abstract concept) to just about anything
Yes this is how every Unix command line utility works.
There is nothing unique about jq in this regard, and there is nothing particularly “systems thinking” about any of them. You can and people have used them for decades without doing any special “systems thinking”.
The Unix model is really useful in my systems thinking precisely because thousands of components all use the stream in/out approach. This made then reliable within a system to be used together in many different combinations and interactions.
Also a good example of loose coupling that allows for good thinking of systems.
I took your "e.g." to mean inclusive of jq and Erlang, but extensive to the entire list. What I said applies to Erlang, OSes, and LISP, but maybe not to jq (I wouldn't know).