A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

5COP101 Linguagens de Programação

Apresentações semelhantes


Apresentação em tema: "5COP101 Linguagens de Programação"— Transcrição da apresentação:

1 5COP101 Linguagens de Programação
Aula 2 Clojure/LISP Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr – 1

2 Sylvio Barbon Jr – barbon@uel.br
Sumário 1) Razões para Estudar Clojure; 2) Obtendo a Clojure; 3) REPL; 4) Iniciando com a Clojure; Sylvio Barbon Jr – 2

3 Razões para Estudar Clojure
- A Clojure utiliza os recursos da JVM (Swing, SWT, “reliability”); - É um dos dialetos mais populares do LISP; - Foco em programação funcional em ambientes de desenvolvimento corporativo; - A Clojure oferece soluções de ambiente concorrentes e paralelização; - “Mistura” de Ruby + Python + Java + LISP Sylvio Barbon Jr – 3

4 Sylvio Barbon Jr – barbon@uel.br
Obtendo a Clojure 1) Java Runtime 2) clojure jar 3) IDE: Leiningen ou Eclipse * Versão atual é a 1.6 Sylvio Barbon Jr – 4

5 Sylvio Barbon Jr – barbon@uel.br
REPL - Ambiente de híbrido de implementação e execução; - R: Read (código lido como entrada) - E: Eval (avaliação do código) - P: Print (saída da interpretação é escrita) - L: Loop (controles para retornar ao passo “read”) Sylvio Barbon Jr – 5

6 Iniciando com a Clojure
% java -cp clojure jar clojure.main Clojure 1.4.0 user=> public static double average (double[] numbers) { double sum = 0; for (int i = 0; i < numbers.length; i++) { sum += numbers[i]; } return sum / numbers.length; (defn average [numbers] (/ (apply + numbers) (count numbers)) (defn average [numbers] (/ (apply + numbers) (count numbers))) Sylvio Barbon Jr – 6

7 Iniciando com a Clojure
(average [ ]) ;= 160 (println (average [ ])) ; 160 ;= nil Sylvio Barbon Jr – 7

8 Iniciando com a Clojure
Sylvio Barbon Jr – 8

9 Iniciando com a Clojure
- Scalar Literals: String: Booleans: true/false nil: null (Java) Characters: Keywords: "hello there" ;= "hello there" \o41 ;= \! (def person {:name "Sandra Cruz" :city "Portland, ME"}) ;= #'user/person (:city person) ;= "Portland, ME" Sylvio Barbon Jr – 9

10 Iniciando com a Clojure
- Scalar Literals: Symbols: Numbers: Expressão Regular: (average [ ]) ;= 160 (re-seq #"(\d+)-(\d+)" "1-3") ;= (["1-3" "1" "3"]) Sylvio Barbon Jr – 10

11 Iniciando com a Clojure
- Scalar Literals: Comentário: “;” ou “#_(xxxxx)” Espaço e vírgula: mesma função separar itens. (= [1 2 3] [1, 2, 3]) ;= true Sylvio Barbon Jr – 11

12 Iniciando com a Clojure
// Java public void hello(String name) { System.out.println("Hello, " + name); } ; Clojure (defn hello [name] (println "Hello," name)) Sylvio Barbon Jr – 12

13 Referências 1- Sebesta, R. Conceitos de Linguagens de Programação. 5ª Edição. Porto Alegre. Bookman, 2003. 2 – Chas Emerick, Brian Carper, Christophe Gand, Clojure Programming., O'really, 2012.


Carregar ppt "5COP101 Linguagens de Programação"

Apresentações semelhantes


Anúncios Google