[HN Gopher] Behavioral Programming (2018)
       ___________________________________________________________________
        
       Behavioral Programming (2018)
        
       Author : sktrdie
       Score  : 28 points
       Date   : 2024-03-28 10:38 UTC (1 days ago)
        
 (HTM) web link (lmatteis.github.io)
 (TXT) w3m dump (lmatteis.github.io)
        
       | SebastianKra wrote:
       | I'm not convinced. The main selling point is that developers
       | don't have to know the previous code to make changes... complete
       | with a precedence system.
       | 
       | Apart from seeing very little explanation why this would work, I
       | can't help but think of a Website, where instead of replacing
       | existing classes, we add more and more with higher specificity.
        
       | shhsshs wrote:
       | The example in the EnforcePlayerTurns section is kind of buggy.
       | Make an attempt to place two Xs in a row in different cells, then
       | place an O in a third cell - the second X you attempted to place
       | will magically show up at the same time as that O.
        
       | foolswisdom wrote:
       | This seems to be like state machines, aside from
       | 
       | > As new ideas and requirements are discovered, we can forbid
       | certain things from happening by simply adding new b-threads;
       | without having to dig and figure out how earlier-written code
       | works!
       | 
       | Which I'm not really sure is a step _up_ from state machines?
        
         | _pi wrote:
         | Behavioral programming is just creating a specific type of
         | rules engine which is very close to a state machine.
         | 
         | This example is also really complex in reality because it
         | inherently requries muxing of temporal events, which is really
         | difficult for most average industry programmers.
         | 
         | With event driven systems what I've seen is that your average
         | programmer is comfortable and likes 1:1 maps but cannot handle
         | any kind of reduce functionality esp over a temporal range.
         | 
         | Typically adoption of something like this would be easier if
         | the event represented a change in the state of the whole board
         | rather than a change in the state of a cell.
         | 
         | TBH this is somewhat reinventing Observables for React.
        
       | hkkevinchow wrote:
       | Isn't GitHub copilot a behavioral programming tool?
        
       ___________________________________________________________________
       (page generated 2024-03-29 23:01 UTC)