110 likes | 220 Views
Clojure. Instalando: Vá em http://code.google.com/p/clojure/downloads/list Faça download de clojure_1.0.0.zip Extraia o arquivo para uma pasta qualquer Abra a linha de comando (cmd) e vá para a pasta Execute o comando: java -cp clojure.jar clojure.main. Clojure.
E N D
Clojure • Instalando: • Vá em http://code.google.com/p/clojure/downloads/list • Faça download de clojure_1.0.0.zip • Extraia o arquivo para uma pasta qualquer • Abra a linha de comando (cmd) e vá para a pasta • Execute o comando: java -cp clojure.jar clojure.main
Clojure • Clojure é uma linguagem criada por Rich Hickey em 2007 • É um dialeto de Lisp
Clojure - Motivação • Rich Hickey gostaria de uma linguagem de scripting que pudesse tomar proveito de uma plataforma já estabelecida no mercado • Gostaria também que a linguagem tivesse facilidades para o uso multithread • E que também fosse funcional
Lisp • Lisp é uma linguagem de programação que foi específicada em 1958 e ainda hoje é utilizada • Utiliza a convenção de sintaxe S-Expression, também conhecida como Listas com Parênteses • Lisp significa List processing language
Features • Programação funcional • Hospedada na JVM • Programação concorrente • Desenvolvimento dinâmico
Programação Funcional • Clojure é uma linguagem funcional impura, pois provê facilidades para IO • A programação puramente funcional em Clojure é encorajada, mas não obrigatória (??????) • Como a maioria das linguagens funcionais, seus dados são imutáveis
Hospedada na JVM • Clojure é compilada para a bytecode da JVM • Compartilha todas as facilidades da JVM, como Garbage Collection, e o sistema de tipos • Clojure pode chamar qualquer método de qualquer classe de Java
Programação Concorrente • Uma das principais vantagens de Clojure por ser hospedada na JVM é a capacidade de multi threading • Todas as funções de Clojure (inclusive as user-defined) são Callable, uma interface de Java do pacote java.util.concurrent
Desenvolvimento dinâmico • Clojure apresenta uma interface de linha de comando chamada REPL (read-evaluate-print loop) • O código escrito é compilado na hora para bytecode e executado
O REPL • Para executar o REPL devemos ir a linha de comando e executar: java -cp clojure.jar clojure.main
Sintaxe • Tudo