Clojure no mundo real

7masters

27/11/2012

O que é Clojure

Clojure é um LISP que gera bytecode JVM

Totalmente compatível com Java

O bytecode de um pode ser usado com o outro

Programação funcional

Imutabilidade

Multithread fica muito mais simples

Acredite ou não, é bem expressivo e fácil de ler

Expressivo

		
(describe "North"
(context "using context"
  (it "should test simple assertions"
    (should (= 1 1) be-true)
    (should (= 1 1) be-true)
    (should (= 1 0) be-false)
    (should (+ 1 1) be-equals 2)
    (should (+ 1 1) be-not-equals 1))))
  	
  

Quem usa?

Heroku

BackType (Twitter)

Prismatic

http://www.quora.com/Whos-using-Clojure-in-production

Onde usar

Heroku

Immutant - Red Hat

Quem usa?

Minha equipe

Proxy

200 aparelhos

País inteiro

Antes

Java

Guice

AutoFabrik

Antes

400 linhas de bootstrap

Dispatcher com 1200 linhas

Testes funcionais e de integração

Praticamente sem testes unitários

Depois

800 linhas de aplicação

Cada seviço virou uma função

Os mesmos testes funcionais e de integração

Agora com testes unitários

Muito obrigado

Perguntas?

@p_balduino

pbalduino [arroba] gmail [ponto] com

http://pbalduino.github.com/7masters-java/

/

#