Fork me on GitHub
#clojure-italy
<
2019-07-26
>
reborg08:07:10

Mi sono letto la early history of smalltalk in queste notti insonni… e non e’ completamente OT rispetto a lisp

clj 4
reborg08:07:57

…e 50 anni dopo siamo qui a riscoprire le stesse cose

reborg10:07:58

e c’e’ sempre un tizio nella chat che fa il nostalgico :)

dmaiocchi10:07:39

Grazie per lo sharing ben venga

dmaiocchi10:07:02

Rispetto à hyped topics container orchestra

dmaiocchi10:07:08

Meglio questa

dmaiocchi11:07:27

e 50 anni dopo inventiamo YAML

dmaiocchi11:07:46

e usiamo quella roba ovunque.. 😢

alan12:07:04

@reborg "functional programming is OOP done the right way" 😄

alan12:07:32

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

dmaiocchi12:07:29

ah si vero, ma gli oggetti erano ancora cose innoque a quei tempi

dmaiocchi12:07:56

adesso mettiamo oggetti in containers e gli orchestriamo

reborg12:07:10

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.

👍 4
alan12:07:42

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

dmaiocchi12:07:45

si come cognitive load, anche le lingue FP hanno un cognitive load in termine di interfaccia

reborg12:07:59

@justalanm non sono sicuro di scartare… se mi puoi fare un esempio

alan12:07:20

Scartare non nel senso di buttare, nel senso di aprire 😄

reborg12:07:20

@darioszr e qui non sono sicuro di cosa intendi

dmaiocchi12:07:28

stavo pensando a tenere in testa le cose, aldila del OP o FP

dmaiocchi12:07:05

mi sembra che si chiama cognitive load. tipo il declartive code riduce cognitve load xke nel imperative devi tenere in testa tutto l"iter

dmaiocchi12:07:38

e nello stesso mode, anche un interfaccia FP che non abbia oggetti e states, puo essere molto difficile da tenere in testa

dmaiocchi12:07:13

non so se mi capisci reborg mi sono agganciato in parte al tuo discorso.. 😁

reborg12:07:06

ancora non bene. Quindi un interfaccia FP e’ l’elenco delle funzioni pubbliche?

reborg12:07:01

non e’ che cambia ogni volta che chiamo una funzione :)

😁 4
dmaiocchi12:07:42

a volte credo per astrazione, e difficile sapere che tipo di data abbia bisogno una funzione

dmaiocchi12:07:14

cioe se trovi in giro funzioni fatte da Pino e pino x 8 anni a fatto codice in X codebase

dmaiocchi12:07:46

per lui X codebase e facile. poi pero quando Tina deve leggere il suo codice cambia molto la cosa

dmaiocchi12:07:01

mi sembra che donald knuth aveva scritto una frase su questo

dmaiocchi12:07:46

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)

dmaiocchi12:07:20

quindi anche in FP codebase, ti ritrovi a dovere tenere in testa tante cose, poi se fa caldo e ancora peggio 😁

reborg12:07:04

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” :)

dmaiocchi12:07:41

no, i type per me non sono una religione

dmaiocchi12:07:27

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

dmaiocchi12:07:21

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

dmaiocchi12:07:40

perche discute in parte questi design pattern piu o meno fra componenti.

dmaiocchi12:07:06

comq solo in parte, ma mi e piaciuta molto la parte in cui parla della struttura dei namespaces

reborg12:07:46

che dice sui namespaces?

dmaiocchi13:07:24

scusa meetings

dmaiocchi13:07:42

ma dice come organizzarli in termini di funzionalita,

alan13:07:16

@reborg nice! Non lo conoscevo!

dmaiocchi14:07:21

ho fatto il mio primo post in ask.clojure clojure-berlin

dmaiocchi15:07:56

allora x chi fosse interessato, dice di fare una struttura simile sui namespaces:

dmaiocchi15:07:24

utility, data definitions, abstractions , implementations assembly entry-points

dmaiocchi15:07:06

e un capito che ho molto apprezzato

dmaiocchi15:07:37

lo consiglio onestamente come libro 🚀