martes, 7 de diciembre de 2010

Videos de SmallTalk 2010 disponibles

Smalltalks 2010

Como comenté hace casi un mes, la última conferencia internacional Smalltalks 2010 se realizó en Concepción del Uruguay, en la provincia de Entre Ríos, Argentina.

Esta conferencia atrajo profesionales de esta comunidad de Ameríca del Sur, del Norte y de Europa, incluyendo figuras famosas del ambiente de lenguajes de programación como Gilad Bracha.

En los últimos días, los organizadores han publicado los videos de todas las sesiones, con buena calidad de audio y video en general, para que todos podamos disfrutarlas. Tratándose de una conferencia internacional, las sesiones fueron en inglés, pero debido a la procedencia variada del público, es casi siempre un inglés pausado y fácil de seguir.

Una excepción es la charla final presentada por el Maestro Angel "Java" López, hablada en Anglish (Angel's English) que él mismo describe en el comienzo. La sesión está dedicada a AjTalk, su máquina virtual de Smalltalk implementada en C# sobre el CLR de .NET, pero además de los detalles técnicos es muy entretenida y recomendable.

AjTalk: an Smalltalk-like Virtual Machine written in C#

Primera Parte

Unable to display content. Adobe Flash is required.

 

Segunda Parte

Unable to display content. Adobe Flash is required.

lunes, 6 de diciembre de 2010

Videos: Crockford habla sobre JavaScript

JavaScript: The Good Parts

Javascript sigue creciendo en relevancia. Hace bastante tiempo, hablaba sobre este tema en otro blog, aunque todavía este lenguaje no se había afianzado tanto del lado del servidor, cosa que está sucediendo ahora gracias a Node.js.

Así que siempre vale la pena conocer más sobre Javascript, incluyendo detalles acerca de su historia. Y quien mejor para esto que Douglas Crockford, actual Javascript Architect de Yahoo!, autor del excelente libro "Javascript: The good parts", y las herramientas indispensables JSLint (un verificador de prácticas) y JSMin (un minificador de código).

A principios de este año y a lo largo de varia semanas, Crockford dio una serie de seis charlas sobre Javascript que quedaron registradas en video (en inglés). El temario completo es:

  • Volume One: The Early Years
  • Chapter 2: And Then There Was JavaScript
  • Act III: Function the Ultimate
  • Episode IV: The Metamorphosis of Ajax
  • Part 5: The End of All Things
  • Scene 6: Loopage

Reproduzco aquí la primera de las charlas, que además de reveladora es muy divertida.

La serie completa está disponible en un sitio completo dedicado a las charlas, que incluye versiones de los videos para descarga en diferentes resoluciones, o la posibilidad de verlos online, y las transcripciones completas de las charlas para quienes les cuesta más escuchar el inglés que leerlo.

Finalmente, para quienes prefieren material estrictamente en castellano, les dejo enlaces a algunos de los trabajos de Corckford traducidos por distintas personas de la comunidad:

 

viernes, 3 de diciembre de 2010

Rust: un nuevo lenguaje experimental desde los labs de Mozilla

Mozilla Labs

La gente de Mozilla Labs publicó recientemente en GitHub su proyecto Rust, un lenguaje experimental.

Según la wiki con preguntas frecuentes, estos son los puntos importantes del lenguaje:

Seguridad

  • Manejo de memoria seguro. Sin punteros nulos o huérfanos, y con administración automática.
  • Control de mutabilidad. Inmutable por omisión. No hay estado mutable compartido entre tareas.
  • Seguridad en ejecución dinámica. Permite atrapar, loguear y procesar fallas en general.
  • Sistema de estado de tipos. Permite definir invariantes complejas sobre estructuras de datos.

Concurrencia y Eficiencia

  • Control de memoria explícito, sobre alocación y disposición.
  • Tareas (corutinas) livianas, de muy bajo costo al dispararlas de a miles o millones.
  • Iteradores de pila (bloques lambda sin alocación en el heap)
  • Compilación estática y nativa.
  • Interfaz simple y directa con código C

Pragmatismo

  • Multiparadigma: puramente funcional, concurrencia/actores, procedural/imperativo, orientado a objetos.
  • Multiplataforma: Windows, Linux, OS X.
  • Strings UTF8 y tipos a nivel de máquina
  • Permite romper reglas declarándolo explícitamente

Como explican en la Wiki, el proyecto, aunque tiene algunos leves puntos de contacto, se inició mucho antes que Google publicara su lenguaje Go, y aunque su sintaxis (por ahora, ya que no es el foco del proyecto todavía) también huele a C (usando llaves, punto y coma, etc).

Para variar, desde este blog no dejamos de celebrar novedades en el ambiente de lenguajes e programación, que aún cuando no llegan a popularizarse siempre aportan conceptos e ideas interesantes que se aprovechan tarde o temprano en otro lado.

 

      jueves, 2 de diciembre de 2010

      ¿Python más rápido que C?

      Entre los videos de las 6tas jornadas de Software Libre que mencioné en el último post, encontré este que me resultó muy interesante y divertido, a cargo de Facundo Batista (uno de los sospechosos de siempre en la comunidad Python local) en el que cuenta una serie de ejercicios desarrollados junto a Lucio Torre para comparar en contextos y situaciones diferentes los tiempos de ejecución de ambos lenguajes.

      Sobre el inicio Facundo aclara que el código C fue escrito en todos los casos por Lucio y el código Python por él mismo, y ambos tienen aproximadamente el mismo nivel de experiencia y familiaridad con cada lenguaje. Cualquiera en la comunidad iría más allá y diría que ambos son reconocidos expertos en el suyo.

      Obviamente hay mucho material para discutir (aún cuando no hay intento alguno de mostrar Python realmente más rápido que C en crudo), pero el objetivo de la charla es reflexionar sobre el proceso, y se habla bastante de la forma en que aplicamos diferentes niveles de optimización. De fondo, incluso, utilizar un lenguaje de bajo o alto nivel, uno estático o dinámico, suelen ser decisiones que optimizan tiempo de desarrollo/mantenimiento, o de ejecución.

      La sesión es corta y divertida, así que la reproduzco aquí debajo, pero antes quiero replicar una frase que Facundo destaca en uno de los slides, y que coincide con algo en lo que insisto hace años, pero nunca había escuchado con esas palabras:

      "Es más fácil optimizar código correcto que corregir código optimizado"

      Disfruten el video:

      Videos de las 6tas Jornadas de Software Libre - Junín 2010

      Sextas Jornadas de Software Libre

      El 5 y 6 de noviembre pasados se realizaron en la localidad de Junín, Buenos Aires, Argentina, las 6tas Jornadas de Software Libre.

      Hubo charlas de Python, Debian, Ubuntu, Linux en general, programación y administración, como pueden ver en el Cronograma completo.

      Durante el evento se pudieron grabar las charlas y ahora ya están disponibles para quienes no pudieron asistir.

      Pueden ver muchos de los videos en esta página:

      http://unnoba.blip.tv/posts?view=archive&nsfw=dc

      Y les dejo a mano este del amigo Juan Gabardini charlando sobre la relación entre Software Libre y Métodos Ágiles. Espero que la disfruten.