Capisco come funziona un processo. E capisco come implementare comportamenti OTP come gen-server, ecc.Erlang: OTP vs spawn
Ma non mi è chiaro quando avrei scelto un approccio rispetto all'altro.
Ad esempio, Cesarini et. al., in Erlang Programming, implementare il server database su p 240 creando un processo, scrivendo una funzione loop, ecc. Il client di chat di Joe Armstrong su p 196 in Programming Erlang genera anche un processo.
Perché questi non dovrebbero essere implementati meglio come gen-server OTP? È per scopi educativi? O ci sono motivi tecnici validi?
In altre parole, quali regole mi guideranno per implementare un approccio rispetto all'altro?
Molte grazie.