4 ms·
I wish there was a behavior-centric introduction to computing (bcic-world.org). Behavior first, data second. Data is passive, it cannot process itself. Algor
by nivertech 4y ago
I wish there was a behavior-centric introduction to computing (bcic-world.org).
Behavior first, data second.
Data is passive, it cannot process itself.
Algorithms (list of sequential steps) are a very poor way to describe behavior. But, unfortunately, this is how computer science is taught today.
- 082349872349872 4y agoHow would you describe behaviour?
- nivertech 4y agoActivities, workflows, business processes, rule engines, decision tables, state machines, Actor Model / Agent-based Modeling (ABM) / Multi-Agent Systems, RL, etc.
- troymc 4y agoThat list reminds me of the various kinds of Behavioral UML Diagrams.
- nivertech 4y agoUML The Good Parts: MSD (Message Sequence Diagrams) and Statecharts (nested FSMs). These two are the only useful parts of the UML, Class Diagrams are only useful for teaching, the rest is useless garbage. But MSD is still can only describe a very basic behavior. Its only advantage over algorithms is that it’s more visual and adds a notion of a participant/actor. If we’re talking about notation for describing behavior, then I prefer EventStorming for big picture, and Event Modeling for SW design. BPMN is also interesting, but much more technical and opionated. IMO it’s only useful if you’re already using a BPMN-based orchestration middleware. Real-life workflows can be very complex, async, unordered, and non-deterministic. Just look at all manual bureaucratic processes that surround our daily life.
- sbazerque 4y agoMaybe comm protocols?
- nivertech 4y agoDo you mean to use message passing in order to describe behavior between actors/agents/participants? Or maybe you mean teaching the actual communication protocols like HTTP,FTP,SMTP,etc.?