Me encontré con una buena reseña de la conferencia que dio Miguel de Icaza sobre Mono en la UOC.

«No tenía nada preparado, iba sobre la marcha, pregunto a la gente cuantos eran programadores y cuantos usaban Linux, para ver que enfoque le tenía que dar a la charla. Finalmente, dividió la exposición en tres partes, una técnica, otra de aplicaciones sobre Mono y la final de preguntas.

» Explicó el porqué de Mono:

  • Programar en C es demencial.
  • Gnome tenía un sistema cutre para compartir componentes entre lenguajes, a lo que Mono da solución al momento.
  • Todas las aplicaciones/librerías que se escriban en Windows corren en Linux.
  • Win32 es malo pero tiene aplicaciones, de ahí su éxito.
  • Permite desarrollar en Win32 y correr en Mono.
  • El software libre reutiliza la inversión de Microsoft en investigación, documentación, libros, etc.

» Detalles técnicos de Mono:

  • Demostró con unos programas que tecleó allí mismo, como se genera el código máquina nativo en tiempo de ejecución y como dejarlo compilado en código máquina nativo para siempre (teclea a la velocidad de la luz). Esto lo hizo en C# y en Python, fue muy bueno porque el tío no sabía Python, o se hacía el loco y pedía a la gente que le dictara: “Bueno, ya, qué pongo, ¿como, print…? ¿print… qué? ¿Y cómo declaro la variable…?” Muy bueno.
  • Dijo que como el código intermedio (CIL) se generaba igual independientemente del lenguaje, que si eras un poco mariquita, podías programar en VB y nadie tenía que saberlo, lo comparó al maricón de clase X-D

» Sobre las aplicaciones, enseñó:

  • Aplicaciones de Novell para grandes corporaciones basadas en Mono.
  • Aplicaciones de escritorios.

» En la tanda de preguntas, llegó al punto que se le preguntó por Java, lo que estuvo muy bien, porque dijo lo siguiente:

  • C# es el resultado de la prepotencia de Sun sobre los años 1997-1999. La gente le decía a Sun que incluyera cosas en el lenguaje que Sun no quería incluir. Por lo que Microsoft cogió lo que la gente quería, he hizo el Java que la gente quería.
  • También comentó el sobre-diseño de J2EE. Dice que sobre el papel, en plan teórico es una maravilla, pero para poner un botón te tiras 300 líneas de código, y así, con todo… Modelo vista controlador, etc. Exceso de florituras teóricas. Dice que .NET es más directo a la productividad.
  • En este punto enseñó la diferencia entre la solución de las “inner classes” de Java y los métodos anónimos de C#. Fue muy bueno, porque lo hizo con el compilador de desarrollo, vamos el que está modificando. Descompuso la prueba en la parte que iba, y en la que petaba porque era justo por donde estaba el código recién tirado que aún no funcionaba, vamos que tenía el compilador cogido con hilos. Hizo un programa de prueba, y efectivamente, la segunda prueba hacía “petar” el compilador.
  • También le preguntaron de su odio hacía KDE, y comentó el tema de la licencia y que era feo… vamos así en plan rápido.

» Por lo demás estuvo muy bien, bastante divertido. Se notaba mucho que Icaza está a otro nivel que el de los que estábamos sentados… rollo Ronaldinho».