11
Clojure Instalando: Vá em http://code.google.com/p/clojure/download s/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

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Clojure

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

Page 2: Clojure

Clojure

Clojure é uma linguagem criada por Rich Hickey em 2007

É um dialeto de Lisp

Page 3: Clojure

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

Page 4: Clojure

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

Page 5: Clojure

Features

Programação funcional Hospedada na JVM Programação concorrente Desenvolvimento dinâmico

Page 6: Clojure

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

Page 7: Clojure

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

Page 8: Clojure

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

Page 9: Clojure

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

Page 10: Clojure

O REPL

Para executar o REPL devemos ir a linha de comando e executar:

java -cp clojure.jar clojure.main

Page 11: Clojure

Sintaxe

Tudo