Clojurians
#clojure-italy
<
2018-08-14
>

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

reborg09:08:00

Buongiorno

reborg09:08:19

Benvenuto @andrea.imparato, dall'Italia o dal mondo?

andrea.imparato09:08:23

italiano ma vivo a berlino :slightly_smiling_face:

reborg09:08:43

Ah, mi sembra sei il secondo nel channel da Berlino! Che si fa di bello la'?

andrea.imparato09:08:24

programmo rest api in php :disappointed:

reborg09:08:07

Argh, cioe' in realta' non ne so molto, assumo "argh" :slightly_smiling_face:

reborg09:08:54

L'altro berlinese e' un altro Andrea, @andreabenfatto

andrea.imparato09:08:17

ah ok! magari lo beccherò al meetup mensile di clojure che si fa vicino al mio ufficio :slightly_smiling_face:

reborg09:08:48

Come mai l'interesse per Clojure?

andrea.imparato09:08:29

perchè è lisp :slightly_smiling_face:

andrea.imparato10:08:12

e perchè php sucks fondamentalmente :smile:

andrea.imparato10:08:20

ok, domanda, se ho una funzione che ritorna una stringa, come faccio a salvare il suo ritorno con let ?

skuro10:08:24

@andrea.imparato nel senso di

(let [s (str "one" "two")]
  (... code goes here ...))
?

andrea.imparato10:08:19

no + nel senso

let [s string-fun]

andrea.imparato10:08:31

dove string-fun è una funzione che ritorna una stringa

skuro10:08:32

probabilmente non capisco la parte dove dici salvare il suo ritorno con let, mi sembra che ci sei gia' abbastanza vicino

(defn make-string [] "foobar")
(let [s make-string]
  (println (s)))

bronsa10:08:57

@andrea.imparato let e` per uso locale, def definisce Var globali

andrea.imparato10:08:02

ho trovato! mancavano le parentesi attorno a string-fun

andrea.imparato10:08:15

non sono ancora abituato :smile:

andrea.imparato10:08:53

non invocavo la funzione praticamente

bronsa10:08:59

basta che ti ricordi che ogni volta che vuoi invocare una funzione, la sintassi e` sempre (funzione arg1 arg2 ..)

bronsa10:08:27

altrimenti funzione e` il valore della funzione stessa

andrea.imparato10:08:28

usate tutti emacs qua?

reborg10:08:21

eh eh (mosca bianca) vim-diehard since 2007

bronsa10:08:36

io emacser dal 2009

bronsa11:08:06

consiglierei cursive (intellij) se non sei abituato a vim o emacs

andrea.imparato11:08:50

no uso anch'io emacs ma solo per i progetti non lavorativi

andrea.imparato13:08:09

ho scritto il mio primo slack bot in clojure :muscle: mi sento mega potente lol

andrea.imparato14:08:24

ho un'altra domanda, quanto è "performante" clojure rispetto a java od altri programmi compilati?

reborg15:08:29

E' relativamente facile rispondere per quanto riguarda Java, visto che i due linguaggi possono essere comparati sulla stessa JVM. Clojure va veloce quasi quanto il relativo codice Java, con tutta la piacevolezza di non scrivere Java. Riguardo altri linguaggi non c'e' una risposta assoluta, dipende dal tipo di applicazione. Per applicazioni general purpose (cioe' l'80% dell'industria) e' un linguaggio "performante". Cioe' non dovresti sentire commenti tipo "Clojure e' lento".

andrea.imparato15:08:19

diciamo non ci fai applicazioni realtime di sicuro però, giusto?

reborg15:08:02

E no, soprattutto per via del garbage collector (ci sono hack vari). Ma non e' la prima cosa che ti viene in mente. Andrei di C.

andrea.imparato15:08:11

yep, la mia azienda per fare app realtime usa D

andrea.imparato15:08:29

dovrebbero esserci tipo massimo 3 aziende in tutto il mondo che lo usano lol

reborg15:08:41

uh D, spetta che wikipedo

bronsa15:08:27

anche se con l'avvento di go e rust non ci vedo piu` molto spazio

reborg15:08:06

Anche una bella sintassina per lambda g = (x) => x * x;

bronsa15:08:31

IIRC ha un sistema di compile-time metaprogramming niente male

bronsa15:08:18

l'ultima volta che l'ho usato (si parla di 4-5 anni fa) il compilatore e l'intera toolchain erano completamente instabili -- e` ancora cosi` @andrea.imparato?

reborg15:08:54

ehm, colpo di tosse, decent standard library docs, https://dlang.org/phobos/std_parallelism.html

andrea.imparato15:08:49

@bronsa non so dovresti chiedere agli altri dev nella mia azienda :slightly_smiling_face:. A quanto so hanno riscritto molte delle librerie