Clojure en Buenos Aires

58 views
Skip to first unread message

Angel Java Lopez

unread,
Apr 16, 2012, 12:05:54 PM4/16/12
to clojure...@googlegroups.com
Hola gente!

Gracias a la gente de Java User Group de Argentina, el proximo jueves dare una charla introductoria a Clojure.


Hubo votacion de temas para charlas, y gano mi propuesta. Creo que esta lleno el cupo (ya antes de la votacion, los meetups de Jugar son bastantes concurridos, parece).

La idea que teno es dar: intro a Clojure, con todo lo que es (desde Lisp a Java, estructuras de datos, macros, STM, concurrencia, creo que llego a agentes), ver el REPL, y en algun momento pasar a Leiningen , mostrar Noir (estoy con Windows Vista para la charla).

Escribo por si tienen sugerencias de recursos a mencionar, temas, otros meetups como este publicados en video, etc...

Gracias por adelantado

Nos leemos!

Angel "Java" Lopez

Marcelo Morales

unread,
Apr 16, 2012, 12:32:40 PM4/16/12
to clojure...@googlegroups.com
On Mon, Apr 16, 2012 at 12:05 PM, Angel Java Lopez
<ajlop...@gmail.com> wrote:
> La idea que teno es dar: intro a Clojure, con todo lo que es (desde Lisp a
> Java, estructuras de datos, macros, STM, concurrencia, creo que llego a
> agentes), ver el REPL, y en algun momento pasar a Leiningen , mostrar Noir
> (estoy con Windows Vista para la charla).

Es un buen momento, porque acaba de salir clojure 1.4
(github.com/clojure/clojure/tree/clojure-1.4.0) con literales de
java.util.Date entre otras cosas.

Los videos de full disclojure (vimeo.com/channels/fulldisclojure)
tienen ejemplos bonitos que pueden servir en la charla.

El video de Chris Granger (vimeo.com/40281991) da una idea de cómo
puede ser el tooling. Puedes mostrarlo como "lo que viene a
continuación".

Espero que la charla sea un éxito. Suerte

Saludos
--
Marcelo Morales

Sebastián Galkin

unread,
Apr 16, 2012, 1:18:29 PM4/16/12
to clojure...@googlegroups.com
2012/4/16 Angel Java Lopez <ajlop...@gmail.com>:

> La idea que teno es dar: intro a Clojure, con todo lo que es (desde Lisp a
> Java, estructuras de datos, macros, STM, concurrencia, creo que llego a
> agentes), ver el REPL, y en algun momento pasar a Leiningen , mostrar Noir
> (estoy con Windows Vista para la charla).

Creo que te va a llevar como 3 horas hablar de todo eso por arriba, y
van a salir vomitando; lo he intentando...

Creo que es mejor enfocarse en algún feature o característica del
lenguaje que te parezca sobresaliente. Candidatos claros son
persistent collections and immutability, macros, time & identity.

> Escribo por si tienen sugerencias de recursos a mencionar, temas, otros
> meetups como este publicados en video, etc...

Macros es algo con lo cual es fácil impresionar a la audiencia, y
tienen la característica de que podés mostrar ejemplos reales de cómo
hacer fácilmente cosas que actualmente les producen grandes niveles de
dolor. Si te metés con concurrencia, por el contrario, dependés mucho
del background de los oyentes. Nadie se interesa si no ha sufrido en
carne propia la experiencia de hacer una aplicación grande usando
locks. Y no me vengas con el ejemplo de account.transfer por favor!

Cuando estés más avanzado con temas concretos de los que vas a hablar
capaz que se me ocurren más ayudas.

Suerte

--
Sebastián Galkin
@paraseba

Javier Neira Sanchez

unread,
Apr 16, 2012, 3:54:33 PM4/16/12
to clojure...@googlegroups.com
¡Esto se mueve!
Estoy con Sebastian, aunque se puede dar pinceladas de las caracteristicas esenciales tal vez sea conveniente elegir uno de los ejes.
Yo elegiria, como Sebastian, la inmutabilidad y las colecciones persistentes pero desde el punto de vista de la abstraccion mas poderosa, en mi opinion, de clojure: la secuencia. Esto a su vez esta relacionado con la identidad y el tiempo.

En cuanto a la importancia de la secuencia para clojure me gusto la vision de un transfuga que vino nada mas y nada menos que de racket, que no tiene nada que desmerecer:

Summary:
  • Clojure provides a full complement of (immutable!) data structures you need for everyday programming and a bit of syntactic support for making those manipulations more concise and pleasant.
  • All of the collections are manipulated by a small number of polymorphic functions that are easy to remember and use.
  • Traversals over all collections are uniformly accomplished by a sequence abstraction that works like a lazy list, which means that Clojure's higher order sequence functions also apply to all collections.

Tomado de http://programming-puzzler.blogspot.com.es/2010/08/racket-vs-clojure.html

Sebastián Galkin

unread,
Apr 16, 2012, 4:07:08 PM4/16/12
to clojure...@googlegroups.com
Ahora me acordé que una vez di una charla sobre clojure en una empresa
donde hacen bastante TDD, y les armé este ejemplo de como crear DSLs
que ayuden con el testing:

https://github.com/paraseba/tictactoe/blob/master/test/tictactoe/test/core.clj

Angel, talvez te dispare alguna idea.

Otra cosa que he notado que mucha gente desconoce (particularmente
cuando vienen de lenguajes como Java) es que el assignment no es
esencial para el cómputo. De hecho, ni lo ven como una entidad
separada, no se dan cuenta que están haciendo assignment y no lo
distinguen del let por ejemplo. Creo que hablar de esto también seria
muy instructivo para la audiencia, aunque talvez no cumple el objetivo
de que sea enfocado en Clojure.

@Javier, muy bueno el resumen, me "instapapereé" el artículo para leerlo

--
Sebastián Galkin
@paraseba

Angel Java Lopez

unread,
Apr 17, 2012, 6:20:02 AM4/17/12
to clojure...@googlegroups.com
Hola gente!

Marcelo, Sebastian, Javier, gracias por los consejos, enlaces, material, sugerencias. Ya los estoy estudiando, tomando en cuenta para la charla.

Espero tener Internet y tiempo para el video de Granger, que esta muy interesante. Y tambien vi de ejecutar los tests del proyecto de Sebastian. Y tengo que poner los puntos importantes hacia los que va Clojure, como senialo Javier. Uy! Justo @jboner acaba de poner en Twitter esa comparativa via @prismatic.

Lo que si puedo sumar es a ClojureScript en una charla que voy a dar para la JSConf de Argentina, sobre implementacion de lenguajes de programacion sobre Javascript.

Los enlaces que estoy coleccionado


2012/4/16 Sebastián Galkin <para...@gmail.com>

Angel Java Lopez

unread,
Apr 19, 2012, 2:44:29 PM4/19/12
to clojure...@googlegroups.com
Hola gente!

Agrego algo: hoy es la charla, a las 6:30PM hora de Buenos Aires

Se podra ver en linea en
Hasta donde se, se puede entrar como guest

Creo que tmb la van a grabar para que quede despues subido el video en algun servicio.

2012/4/17 Angel Java Lopez <ajlop...@gmail.com>

Sebastián Galkin

unread,
Apr 20, 2012, 1:33:27 PM4/20/12
to clojure...@googlegroups.com
2012/4/19 Angel Java Lopez <ajlop...@gmail.com>:

> Se podra ver en linea en
> http://mulesoft.adobeconnect.com/jugar/
> Hasta donde se, se puede entrar como guest

Me olvidé de mirarte!
Quedaron los videos en algún lado?

--
Sebastián Galkin
@paraseba

Angel Java Lopez

unread,
Apr 20, 2012, 1:37:53 PM4/20/12
to clojure...@googlegroups.com
Hola gente!

Sebastian, se filmo, pero todavia no esta publicado.

Muy buen grupo, bastante poliglota (pense que iba a encontrarme con menos poliglota). En la proxima meetup posiblemente sea akka, por ejemplo.

Creo que fue alguien de esta lista... fue  https://twitter.com/#!/fbru02 ? 

Creo que fue el quien menciono un Clojure reimplementando con send a agentes distribuidos. Tiene enlace, nombre del proyecto?


2012/4/20 Sebastián Galkin <para...@gmail.com>

Javier Neira Sanchez

unread,
Apr 20, 2012, 3:01:38 PM4/20/12
to clojure...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages