domingo, 9 de marzo de 2014

Clojure y los lenguajes extraños


Clojure es un lenguaje bastante complejo (a mi parecer),  olvida todo lo aprendido en lenguajes como C, en Clojure crear un bucle o una condición es muy distinto.

Estructuras de control
  1. Secuencial
  2. Selectiva
  3. Repetitiva
1. Secuencial
Es la más básica.Consiste en escribir las sentencias de arriba hacia abajo.
(comment

Esto es un comentario
multilínea
)
(println "Hola usuario")


2. Selectiva.
Consiste en elegir caminos de acción mediante condiciones falsas y/o verdaderas.
puts("Tu nombre")
gets nombre
si "Ernesto"==nombre entonces:
  "Eres Ernesto"
otro:
  "No eres Ernesto"

En código Clojure sería:

(import '(java.util Scanner))
(def scan (Scanner. *in*))
(println "Tu nombre: ")
(def nombre (.nextLine scan))
(def resultado(if (="Ernesto" nombre) "Eres Ernesto" "No eres Ernesto"))
(println resultado)

3. Repetitiva
Consiste en controlar el número de veces que se ejecuta una sentencia.

i=0
mientras i<5:
   "imprime no. " i
   i++

En código Clojure sería:

(loop [cont 0]
  (when (< cont 5)
    (println "no. " cont)
    (recur (inc cont))))

Si los anteriores ejemplos te parecen extraños existen lenguajes más extraños como Chef que puede provocar dolores de cabeza al tratar de entenderlo.


Links
http://kottke.org/08/12/the-chef-programming-language
http://www.dangermouse.net/esoteric/chef.html
http://en.wikipedia.org/wiki/Esoteric_programming_language


No hay comentarios:

Publicar un comentario

Programación Windows Batch (CMD) parte 4

Siguiendo con la serie de post sobre programación ( 1 , 2 , y 3 ) batch ahora veremos algunas cosas como operaciones aritméticas, operad...