Clojurians
#clojure-italy
<
2019-02-07
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

mdallastella06:02:39

Giorno. Interessanti le discussioni nate su HN in seguito al Clojure survey 2019

reborg10:02:59

Mi fa piacere di vedere un commento che descrive esattamente quello che penso, cosi’ non lo devo nemmeno dire :) https://news.ycombinator.com/item?id=19096932

reborg10:02:22

(incluso Alex che sembra un disco rotto :)

reborg10:02:28

Aspetta, questo e’ meglio https://news.ycombinator.com/item?id=19098251 perche’ non escludo a priori altre belle novita’. Giusto penso che il mio side time dopo il libro, probabilmente non sara’ clj. Clj rimarra’ la mia scelta primaria per qualunque progetto, fino a quando non saro’ fluente con qualcos’altro.

mdallastella10:02:05

Capisco. Credo sarà anche il mio trend quest'anno, quello di cercare un linguaggio da affiancare a Clojure

reborg10:02:51

Ma la survey dice che quello che penso non e’ quello che penso, quindi tutto bene!

nilrecurring10:02:40

Io sono arrivato alle conclusioni dei commenti sopra qualche anno fa, quando scoprivo PureScript. Un linguaggio simile, Elm, soffre della stessa “situazione BFDL” che in Clojure (ma lì è molto più estrema, livello censura, in questo caso sono tutti molto più ragionevoli)

nilrecurring10:02:44

Al momento (da più di un anno in realtà), mi trovo molto bene in Haskell/PureScript al lavoro (i linguaggi sono effettivamente community-driven, e il trend è che lo static typing è in crescita, vedi Typescript, quindi il lavoro si trova), e sto seguendo Rust, che è molto promettente

nilrecurring10:02:09

Paradossalmente trovo piacevole più che mai scriver Clojure nel tempo libero :smile:

reborg11:02:05

eh eh, infatti e’ sempre molto piacevole scrivere cose lispy :)

mdallastella11:02:50

La mia situazione è un po' diversa: ho scelto Clojure come linguaggio per la mia azienda. È stata una scommessa, certo, vorrei diversificare un attimo per non trovarmi in "braghe di tela", come si suol dire...

mdallastella11:02:29

La mia sensazione però è quella che non riuscirò a trovare qualcosa che mi renda produttivo tanto quanto Clojure: vuoi per il repl-development, per la concisione del codice, perché ormai non ragiono più ad oggetti... Sicuramente mi risulterebbe difficile riprendere in mano un linguaggio non funzionale

justalanm12:02:03

Io penso che Clojure non sarà mai un linguaggio puramente mainstream nel breve termine anche perché non vuole esserlo. Probabilmente quello che stiamo aspettando un po' tutti è (passatemi il termine) un Clojure 2.0 che niente ha a che fare con Cognitect, ma che prende tutto il meglio che c'è nel linguaggio e aggiusta alcuni dei problemi più evidenti (runtime, errori, startup time, etc). D'altronde la tendenza di moltissimi linguaggi è quella di diventare sempre più "lispy" e non viceversa. Il fatto che uno come Bob Martin (che stia simpatico o meno) sia diventato un "fan" di Clojure è indicativo di una serie di forze che spingono verso questa direzione, un altro esempio è la comparsa dei transducers in Javascript, e chi più ne ha più ne metta. Per quello che faccio io i tipi sono più un impedimento che altro (Python non è tipizzato neanche se uno si impegna ed è uno dei linguaggi più popolari e utilizzati) quindi la cosa personalmente non mi interessa molto e penso che se uno vuole un linguaggio tipizzato ce ne sono millemila, fra cui anche alcuni LISP, senza dover snaturare un dinamico

manuel13:02:06

Riemergo dal coma dell'influenza per i miei two cents al riguardo. Dei tipi in Clojure mi interessa meno di niente. Spec sopperisce alla mancanza in un modo o nell'altro, e se davvero voglio i tipi passo a Haskell. Ma questo è il solito discorso di sempre, e di dynamic VS static mi interessa quanto di Emacs VS vim ormai. Di nuovo, la Survey ha evidenziato che le priorità per le menti dietro a Clojure sono altre. Non dubito del lavoro di Alex, ma non posso che chiedermi: il malcontento di alcune voci "grosse" della comunità (cui si aggiunge quella di @reborg, spiace dire) sta smuovendo qualcosa in Rich & Co.? Perché a giudicare dall'andazzo generale, non mi sembra. E qui ormai non è più solo una questione di "non mi acccettano la patch perché sono brutti e cattivi", mi pare di capire. Come dicevo a @mdallastella durante una pausa caffè, Clojure è di nicchia per una combinazione di fattori: - È LISP, e ogni volta che lo nomino trovo occhi sbarrati. - Gira sulla JVM, e convincere l'azienza che ha basato il core business su Java a muoversi su un paradigma diverso restando sulla JVM è quasi più difficile che farli venir via dalla JVM in blocco. Ma spero questo sia stato solo un problema mio. Intanto, qui e là cerco di tenere vivo Haskell nel tempo libero, ma è innegabile il piacere di programmare con Clojure e ClojureScript. Haskell sarebbe sicuramente la mia prima scelta se dovessi mollare Clojure per qualche motivo. In Italia non mi darebbe il pane che mi darebbe Java, ma è dura tornare a Java dopo Clojure.

mdallastella13:02:44

Ci sono cose succose all'orizzonte cmq, tipo GraalVM

reborg13:02:52

Per molti, incluso me, trovare Clojure e’ stato come scoprire Lisp per la prima volta (attraverso la JVM). Quindi per fortuna che c’e’ un Lisp che ci da lavoro! Lasciero’ che Rich e Cognitect guidino la via e mi limito ad usarli.

justalanm14:02:38

@reborg per me è stato a tutti gli effetti il primo LISP in assoluto (non sono laureato in informatica o simili) ed è per questo che non capisco quelli che dicono che la programmazione funzionale sia più difficile (di cosa poi? Di OOP?) perché non lo è e io ne sono la dimostrazione, se c'è l'ho fatta io può chiunque :smile:

helios18:02:58

idem come sopra, non avevo mai fatto Lisp prima di Clojure :slightly_smiling_face:

andrea.crotti21:02:05

ho da poco aggiunto un file user.clj a un mio progetto https://github.com/AndreaCrotti/elo/blob/master/src/clj/user.clj e tutto funziona benissimo, ma ho scoperto mio malgrado che mi scassa l'uberjar

andrea.crotti21:02:16

Caused by: java.io.FileNotFoundException: Could not locate elo/auth__init.class, elo/auth.clj or elo/auth.cljc on classpath.

andrea.crotti21:02:42

la sua presenza causa questo, ma pensavo che user.clj fosse solo caricato per sviluppo locale

andrea.crotti21:02:13

e faccio comunque fatica a capire come qualche import in piu' possa scassare il jar in quel modo

andrea.crotti21:02:04

ah caspita forse ho capito, devo metterlo in un altra directory che di sicuro l'uberjar non si legge

andrea.crotti21:02:24

immagino sia perche' quel file fa troppo a load time

andrea.crotti21:02:34

anche se l'errore non e' dei migliori