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.

Miguel de Icaza: Más sobre Mono para OS X y iOS

Mac OS X

Miguel lanzó un nuevo blog personal especializado en el sistema operativo de Mac y el de iPhone/iPod/iPad, visto por supuesto, desde la perspectiva de Mono.

Como explica en el post inicial, las razones principales para tener un blog separado del suyo personal de siempre, exclusivamente dedicado a este tema, son dos:

  • Mientras que su blog está dedicado más que nada a novedades generales del proyecto Mono, éste está orientado a documentar sus experiencias específicas con estos ambientes de Apple, en un nivel de detalle más granular, que puede molestar a quien no tiene interés específico en el tema.
  • Estos sistemas operativos son propietarios y están bastante alejados de los ambientes abiertos usuales para gran parte del público anterior.

En cualquier caso, es muy interesante tener un buen recurso técnico con detalles sobre MonoTouch, la implementación de Mono y herramientas de desarrollo para programar aplicaciones para iOS en lenguajes .NET, que es un producto comercial (sobre todo por temas de licenciamientos varios), y MonoMac, que si es un producto abierto y gratuito para hacer lo mismo sobre Mac OS X (que sí es un sistema propietario).

Lo que ambos proyectos brindan, fundamentalmente, es la posibilidad de programar en C# y utilizar las librerías de la BCL, pero con bindings agregados para interactuar con el entorno de Apple en Objective-C y la interfaz de usuario Cocoa, lo que es una buena alternativa para quienes están interesados en desarrollar para estos dispositivos pero no tanto en aprender todos los detalles y lenguajes específicos.