En pasados post se ha hablado sobre este lenguaje de programación (con paradigma funcional) inspirado en el lenguaje sumerio (broma) y decidí darle continuidad a la serie.
Clojure es un lenguaje muy especial y, quizás, difícil de aprender en un principio. Mezcla el tipado estático con el "dinámico". Su punto fuerte es la programación funcional (y sus colecciones persistentes). Eso de manejar paréntesis puede ahuyentar a la mayoría.
Para descargar la versión actual es necesario contar con Git y Maven instalados:
git clone https://github.com/clojure/clojure.git cd clojure mvn -Plocal -Dmaven.test.skip=true package
Una vez que se ha creado el JAR, ejecutamos de la siguiente manera:
java -jar clojure.jar
java -jar clojure programa.cjl
Tipos de datos
Cadenas, Enteros y Flotantes.
;;Tipos de datos en Clojure (def entero 123) (def cadena "Fundamentos de programacion en Clojure") (println "Entero:" entero) (println "Cadena:" cadena) (println "Flotante:" flotante)
;;Booleanos (def verdadero true) (def falso false) (if (= verdadero true) (println "Europa renacida") ) (if (= falso true) (println "Esto nunca se vera") ) (if (> 6 2) (println "True") )
;;Definiendo funciones (defn sumar[x, y] (+ x y) ) (defn restar[x, y] (- x y) ) (defn multiplicar[x, y] (* x y) ) (defn dividir[x, y] (/ x y) ) (println "Suma de 4 + 6 = "(sumar 4 6)) (println "Resta de 10 + 3 = "(restar 4 6)) (println "Multiplicacion de 4 * 6 = "(multiplicar 4 6)) (println "Division de 25 / 5 = "(dividir 4 6))
;;bucles (println "Bucles") (loop [x 10] (when (> x 1) (println x) (recur (- x 2))) ) ;; 10 8 6 4 2 (println "") (loop [cont 0] (when (< cont 10) (println cont) (recur(+ cont 1)) ) ) ;; 0 1 2 3 4 5 6 7 8 9
Update: Hay otra forma de instalar Clojure
1. Dependencias sudo apt-get install -y bash curl rlwrap 2. Descargar script curl -O https://download.clojure.org/install/linux-install-1.10.2.774.sh 3. Permisos de jecución chmod +x linux-install-1.10.2.774.sh 4. Ejecutar instalador sudo ./linux-install-1.10.2.774.sh 5. Verificar instalación clj
Links:
https://www.javamexico.org/blogs/sr_negativo/aprendiendo_clojure
https://www.twilio.com/blog/2016/02/getting-started-with-clojure.html
Comentarios
Publicar un comentario