Primeros pasos con Clojure

Es bueno probar cosas nuevas y, cuanto más diferentes sean de las cosas que ya conoces, mejor. A lo largo de mi vida he usado (en mayor o menor profundidad) muchos lenguajes, incluyendo cosas relativamente exóticas como prolog o haskell, pero nunca había trasteado con ningún dialecto de lisp y ya iba tocando.

Clojure como lenguaje

Clojure es un dialecto de lisp que comparte con él la idea de que representar de igual forma código y datos. Sinceramente, a estas alturas todavía no tengo muy claro por qué eso es tan maravilloso, pero parece ser que lo es y espero iluminarme en algún momento.

Se ejecuta sobre la JVM lo que quiere decir que hace falta tener instalado el runtime de java para ejecutarlo, pero gracias a eso puede interoperar con todas las librerías que ya existen en java. Existen versiones que se «compilan» a Javascript o incluso .NET, pero la versión “oficial” es la que trabaja con JVM.

Se trata de un lenguaje principalmente funcional, dinámico, en cuanto a que todo se puede manipular en tiempo de ejecución (no como en C# donde, por ejemplo, no podemos añadir un método a un objeto una vez definido) y con tipado fuerte (no puedes pasar un String a una función que recibe un int).

Aunque puede ser compilado, tiene un cierto regustillo a lenguaje de scripting y se puede utilizar en un REPL para ir introduciendo expresiones que son evaluadas automáticamente. Esto es algo especialmente práctico cuando estás aprendiendo el lenguaje porque te permite trastear fácilmente con la sintaxis e ir probando cosas.

Instalando Clojure

OJO: Todo esto se refiere a la versión 1.4.0 de Clojure y 2.0.0-preview10 de Leiningen.

La forma más fácil de instalar Clojure es utilizar leiningen, que es una especie de herramienta multiusos que lo mismo te permite instalar Clojure, que crear la estructura de carpetas para un nuevo proyecto o gestionar las dependencias de los proyectos.

Para instalar leiningen en windows necesitamos tener en el path el runtime de Java y wget o curl. Después, basta con descargar el script bat de autoinstalación y ejecutarlo con:

lein self-install

Esto descargará todos los componentes necesarios para empezar a jugar con Clojure y los almacenará en las carpetas %HOMEPATH%\.m2 y %HOMEPATH%\.lein. Por comodidad, es recomendable copiar lein.bat a alguna carpeta contenida en el path, aunque esto no es imprescindible.

Para comprobar que todo ha funcionado correctamente, podemos abrir un REPL usando:

lein repl

Se mostrará un prompt en el que podemos empezar a introducir expresiones que serán evaluadas, por ejemplo:

user=> (* 2 (+ 5 4)) 
18
user=>

Con esto ya te haces una idea de la pinta que va a tener el lenguaje: listas definidas entre paréntesis en las que el primer elemento es una función y el resto de elementos son los parámetros de esa función. Vamos, lisp en estado puro.

No parece muy bonito, pero todo el mundo que ha programado en lisp dice que cambió para siempre su forma de pensar. Lo que es seguro es que aprender nuevos lenguajes y formas diferentes de resolver problemas merece la pena, así que estoy dispuesto a darle una oportunidad.

Ya os iré contando.

7 comentarios en “Primeros pasos con Clojure

  1. Javier Holguera dijo:

    Pues yo programé con Lisp en la carrera y no sé si cambiaría mi forma de pensar, pero sí hizo que me planteara dejar la ingeniería y dedicarme a hacer tartas…

  2. Jeje, si al final necesito alguna receta (de tartas, claro), te mando un mail :-)

    De todas formas hay cosas de la carrera que, en ese momento, parecen horribles y luego cuando las retomas con el tiempo no están mal e incluso te lo pasas bien.

  3. Pingback: Aprendiendo un lenguaje funcional: Erlang | montesjmm.es

  4. Tengo algunos problemas para installar el leinigen, supuestamente todo esta bien, pero no me abre la consola al final, se muestara y se cierra muy rapido

  5. Hola David,

    ¿Cómo lo estás ejecutando? Lo normal es que cuando lo ejecutas desde una consola, aunque dé un error esa consola se quede abierta y puedas ver el mensaje de error.

    Saludos.

  6. Hola donde puedo descargar el script bat de autoinstalación, cada vez que le doy clic al link me envia a donde esta escrito el codigo pero no me sale para descargarlo?

Comentarios cerrados.