Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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 seems to be confusion 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

[0] https://en.wikipedia.org/wiki/Systems_theory

[1] https://en.wikipedia.org/wiki/Systems_engineering

[2] https://en.wikipedia.org/wiki/Software_engineering

[3] https://en.wikipedia.org/wiki/System_dynamics


There's also linear system theory, which control theory is related to.


Most of those technologies are known for either how they handle complexity, or the coordination between asynchronous actors with shared resources


Uhhh what? jq is basically an updated sed. One input stream, one output stream, no awareness of anything else


You don't see how a simple input/output streaming model would be helpful in understanding systems theory and design?

There are a _lot_ of systems out there that tie together various components with tools that behave a lot like jq (or literally are jq...)


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.

In school we watched the 1990 movie [MindWalk](http://www.imdb.com/title/tt0100151/). You can watch it on YouTube https://youtu.be/Uec1CX-6A38


> There is nothing unique about jq in this regard

Does there have to be?

It's simply an example of a good systems pattern/approach.


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).


Perhaps they meant it as a good example of the type of component to build systems out of, simple input->output. Unsure though.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: