This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-07-26
Channels
- # aleph (9)
- # announcements (10)
- # aws (1)
- # beginners (65)
- # calva (9)
- # cider (11)
- # clj-kondo (1)
- # cljdoc (61)
- # cljsrn (6)
- # clojars (2)
- # clojure (40)
- # clojure-austin (1)
- # clojure-belgium (1)
- # clojure-europe (4)
- # clojure-finland (1)
- # clojure-france (1)
- # clojure-italy (57)
- # clojure-nl (6)
- # clojure-spec (134)
- # clojure-uk (67)
- # clojuredesign-podcast (2)
- # clojurescript (40)
- # cursive (25)
- # datascript (1)
- # datomic (8)
- # events (1)
- # figwheel-main (18)
- # fulcro (36)
- # immutant (5)
- # jobs (5)
- # joker (3)
- # kaocha (41)
- # leiningen (4)
- # luminus (4)
- # off-topic (13)
- # onyx (8)
- # pedestal (2)
- # perun (7)
- # planck (2)
- # protorepl (9)
- # re-frame (3)
- # reagent (73)
- # reitit (5)
- # shadow-cljs (186)
- # sql (4)
- # vim (1)
- # yada (2)
Giorno!
Mi sono letto la early history of smalltalk in queste notti insonni… e non e’ completamente OT rispetto a lisp
Scherzi a parte, il mio omonimo ha ribadito più volte di essersi pentito amaramente di averlo chiamato Object Oriented e non Message Oriented, nome che avrebbe riflesso meglio la vera natura del paradigma
cio’ non toglie che anche in smalltalk, per capire il comportamento generato dal prossimo messaggio, devo capire (o tenermi in testa) lo stato interno dell’oggetto.
Però almeno non mi arriva un oggetto che devo "scartare" per guardare cosa c'è dentro e che non si sa se lo sta scartando anche qualcun altro nello stesso momento
si come cognitive load, anche le lingue FP hanno un cognitive load in termine di interfaccia
@justalanm non sono sicuro di scartare… se mi puoi fare un esempio
@justalanm capit
mi sembra che si chiama cognitive load. tipo il declartive code riduce cognitve load xke nel imperative devi tenere in testa tutto l"iter
e nello stesso mode, anche un interfaccia FP che non abbia oggetti e states, puo essere molto difficile da tenere in testa
a volte credo per astrazione, e difficile sapere che tipo di data abbia bisogno una funzione
cioe se trovi in giro funzioni fatte da Pino e pino x 8 anni a fatto codice in X codebase
per lui X codebase e facile. poi pero quando Tina deve leggere il suo codice cambia molto la cosa
cmq quello che voglio dire e che x come l'ho vissuta io, certa gente ama la complessita, che ci puo anche stare( a me non fa impazzire)
quindi anche in FP codebase, ti ritrovi a dovere tenere in testa tante cose, poi se fa caldo e ancora peggio 😁
Ok, mi sembra che non avere da tenere in testa lo stato (nascosto o no) di oggettini vari renda piu’ semplice programmare FP. Mi sembra anche che stai assumendo FP sia senza tipi (a-la Clojure) ma FP non preclude di avere tipi espliciti (vedi Haskell per citarne uno). Cosi’ Tina dopo 8 anni arriva e vede: “oh data e’ di tipo “Address” :)
e piu quello che pensavo e che FP sicuramente e il futuro e l'inizio verso cambiamenti che dovremo intrapprendere nel software. cioe anche in FP esistono certi design pattern
ma per ora non ho trovato molto materiale a riguardo, giusto per curiosita. clojure applied di alex miller, e un buon libro su questo anche
comq solo in parte, ma mi e piaciuta molto la parte in cui parla della struttura dei namespaces
Rich ha espresso la stessa idea in passato https://gist.github.com/reborg/dc8b0c96c397a56668905e2767fd697f#should-i-use-a-namespace-to-bundle-functions-to-model-a-domain-object-like-a-customer-or-product