Skip to content
JRaul edited this page Apr 6, 2012 · 4 revisions

#Introduccion

Bienvenidos a esta guia sobre el lenguaje Clojure,esta guia esta dirigida a cualquira con que desee aprender el lenguaje desde programadores C++,C#,Java,perl,Python,Groovy hasta Scala.

Clojure es un lenguaje relativamente nuevo ,la informacion no estan grande como en otros lenguajes programacion casi en su totalidad en Ingles.

##¿Pero que es Clojure?

Clojure es un lenguaje funcional,no puro,de tipado dinamico,base Lisp(parentesisissss(muchos y muchos(pero no tantos(XD)) parentesis) que corre sobre JVM(Maquina virtual de Java),CLI(.net),y sobre el navegador(ClojureScript).

En este tutorial usaremos la version que corre sobre la JVM.

###Lenguaje funcional. Es un lenguaje que esta basado en funciones,a diferencia de los lenguajes imperativos en los que se ejectuan de forma secuencial una serie de tareas para realizar los programas, en los lenguaje imperativos se permite la mutacion de estados,si declaramos una variable a 5 en la siguiente instruccion podemos cambiar su valor a 6 o cualquier numero,los lenguajes funcionales puros no permiten esto de forma explicita,aunque Clojure si lo permite por esto se le considera un lenguaje no puro,pero la manera usual de hacer los programas en programacion funcional es no usar valores mutables y expresar las soluciones de forma declarativa.

###Tipado dinamico. El tipo de una variable puede cambiar durante su ejecucion,¿Pero clojure no es un lenguaje funcional en el cual no esta permitido esto?,Si pero si pensamos en terminos funcionales,y tendriamos que una funcion puede tomar cualquier tipo de valor o devolver cualquier tipo de valor como.

###'(Lisp) El segundo lenguaje de programacion de alto nivel creado en 1958 por John McCarthy,Este lenguaje desde sus inicios fue vinculado a la inteligencia artificial,Tiene una gran cantidad de caracteristicas como closure,recolector de basura,homoiconico,metaprogramacion , hoy en dia cuente con cientos de dialectos o lenguajes que se inspiran en el,Clojure es uno de estos,la notacion de estos lenguaje difiere a la tradicional notacion posfija,2+2,usa notacion prefija (+ 2 2) claro y los parentesis como podrian faltar.

###JVM La maquina sobre la que corre el lenguaje Java,con cientos de proyectos y bibliotecas interesantes a las cuales puede acceder Clojure y tambien desde el lenguaje Java podemos acceder a Clojure,dando una buena Interoperabilidad.

###El Creador El creador de clojure es Rich Hickey(Twitter), pueden ver sus impresionates platicas sobre el lenguaje en infoq .

##Como instalarlo o utilizarlo Desde el navegador en try clojure el cual permitira usar lo basico,pero tiene restringidas funciones,para no usarlo de forma dañina.

Lo recomendado es instalarlo para poder usar todo su potencial.

Pasos para todos los sistemas. Instalar el JDK version superior a 1.5.

###En Linux: La mayoria de las distribuciones ya lo tienen incluido en sus repositorios,por que solo tenemos que buscar clojure en un gestor de paquetes grafico. En Arch podemos hacer sudo pacman -Syu clojure.

###En Windows: 1._ Descargar http://clojure.org/downloads el .zip y Jline http://sourceforge.net/projects/jline/

2._ En unidad C de preferencia crear la carpeta Clojure,poner el contenido de zip de clojure.zip y pasar el jline x.y.z .jar.

3._ Para mayor facilidad renombrar clojurex.y.z.jar a clojure.jar y jline.x.y.z a jline.jar

4._ Abrir bloc de notas copiar el siguiente codigo:

:: Setup:
::
:: 1. Change the constants to match your paths
:: 2. Put this clj.bat file on your PATH
::
:: Usage:
::
:: clj                           # Starts REPL
:: clj my_script.clj             # Runs the script
:: clj my_script.clj arg1 arg2   # Runs the script with arguments

@echo off
:: Change the following to match your paths
set CLOJURE_DIR=C:\Clojure
set CLOJURE_JAR=%CLOJURE_DIR%\clojure.jar
set JLINE_JAR=%CLOJURE_DIR%\jline.jar
if (%1) == () (
     :: Start REPL
     java -cp .;%JLINE_JAR%;%CLOJURE_JAR%; jline.ConsoleRunner clojure.main
    ) else (
     :: Start some_script.clj
     java -cp .;%CLOJURE_JAR%; clojure.main %1 -- %*
  )

Guardar en C:\Clojure como clj.bat ,Es importante que no se guarde como clj.bat.txt. Con esto podemos ejecutar clojure solo dan click o ejecutando desde consola clj.bat pero para poder acceder a el de forma mas sencilla vamos a añadirlo al Path de windows.

5._ Añadir al Path de windows la carpeta,podemos ver este tutorial http://www.elmundoexterior.es/anadir-java-al-path-de-windows/ solo que en vez de añadir la ruta del JDK añadimos C:\Clojure.

###MAC OS X: Revisar en http://en.wikibooks.org/wiki/Clojure_Programming/Getting_Started

##IDE's o entornos disponibles.

Para los fans de Intellij Idea Existe el plugin LaClojure instalenlo crear nuevo proyecto,y donde nos pone usar bibliotecas adiccionales seleccionar Clojure y seleccionar la opcion Download la cual nos descargara la version estable mas reciente de Clojure.

Tambien para los usarios de Emacs como VIM existen plugin's para usar este.

Los usuarios de SublimeText 2 y Kate,cuenta con soporte para coloriado de sintaxis.

En esta guia se usara principalmente el RELP de Clojure y la linea de comandos,por lo que no se preocupen de que IDE usar o cual es mejor,con un blog de notas es suficiente.

Clone this wiki locally