Buscar
Social
En javaHispano...
« ¡Pruebe Clojure en línea hoy mismo! | Main | Comencemos con un saludo »
viernes
dic232011

Intro a clojure

El lenguaje de programación Clojure lo podemos definir bajo las siguientes caracteristicas:
  • Es un dialecto de Lisp
  • Permite el uso de Progrmación Funcional (Functional Programming)
  • Es simbiótico con la bien establecida plataforma de Java (JVM)
  • Diseñado desde su incepción para la concurrencia

Su sitio oficial es http://clojure.org/

Este lenguaje para la JVM es uno de los más dispares al lenguaje Java. Esto último implica que verdaderamente hace ver nuestro lenguaje predilecto Java (o bien C#, Python, Ruby, etc) bajo una perspectiva totalmente diferente y provoca ese re-pensar tan interesante.

Una de las promesas y aspectos escencial de este lenguaje es su elegancia. Esta elegancia radica en la brevedad de los programas que se producen una vez que se aprende lo básico e idíomatico del lenguaje.  Programas cortos son baratos en su construcción, baratos al ser deployados, y baratos en mantenimiento. Todo esto último es verdad cuando los programas son concisos. 

Ejemplo:

public class StringUtils { 
  public static boolean isBlank(String str) {   
    int strLen; 
    if (str == null || (strLen = str.length()) == 0) {
      return true; 
    }
    for (int i = 0; i < strLen; i++) { 
      if ((Character.isWhitespace(str.charAt(i)) == false)) { 
        return false; 
      } 
    }
    return true; 
  }
}

en Clojure:

(defn blank? [str] (every? #(Character/isWhitespace %) str))
Aunque Clojure es un dialecto de Lisp, es ante todo un lenguaje pensado para ser práctico.

 

 

 

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>