Mais conteúdo relacionado Semelhante a Por que sua próxima aplicação web deve ser em Clojure? (20) Por que sua próxima aplicação web deve ser em Clojure?1. 1
POR QUE SUA PRÓXIMA
APLICAÇÃO WEB DEVE SER
EM CLOJURE?
Eduardo Aquiles Radanovitsck - @eduaquiles
8. (* 2 3 4) => 24
((fn [n] (* 2 n)) 2) => 4
(map inc [1 2 3]) => (2 3 4)
10. » lein repl
user=> (def foo 2)
#'user/foo
user=> (foo)
ClassCastException java.lang.Long cannot be
cast to clojure.lang.IFn user/eval1265
user=> foo
2
12. (require '[clojure.test :refer :all])
(deftest sum
(is (= 5 (+ 2 3))))
(run-tests)
Testing user
Ran 1 tests containing 1 assertions.
0 failures, 0 errors.
{:test 1, :pass 1, :fail 0, :error 0, :type
:summary}
17. (defn modulo [valor]
(if (> 0 valor)
(* -1 valor)
valor
))
(deftest test-modulo
(is (= 2 (modulo -2)))
(is (= 2 (modulo 2))))
{:test 1, :pass 2, :fail 0, :error 0, :type
:summary}
20. (def my-vec [1 2 3])
(conj my-vec 4) => [1 2 3 4]
my-vec => [1 2 3]
28. 28
Sintaxe – bastante simples: listas para todos os lados
REPL – experimentação e rápido feedback
Testes – não preciso escolher um framework
Dados – uso a melhor estrutura de dados que a própria linguagem já
oferece
Funções – simplicidade
Imutabilidade – menos bugs, mais concorrência
JVM – acesso à classes do Java e bibliotecas
32. 32
banco de dados →
transformação →
apresentação na tela
Fluxo se encaixa no
modelo funcional