Una web que me ha llamado bastante la atención. Recopila el código fuente del clásico ‘Hello World’ escrito en casi 400 lenguajes de programación distintos.

Me surgen varias preguntas. ¿Cuántos de esos lenguajes conocías?, ¿Son necesarios tantos?, ¿El tercer caracter del Hello World en Brainfuck no debería ser un punto? :)

Hello World Example

,

Un poco de humor para soportar el fin de mis merecidas vacaciones. Nadando entre millones de artículos pendientes de leer en mi Google Reader me encuentro una lista de los 10 lenguajes de programación más extraños jamás creados. Conocía ya algunos de ellos, pero otros me han llamado enormemente la atención tanto por su absurda sintáxis como por su dudosa utilidad práctica.

Entre los lenguajes mencionados se encuentran algunos como:

  • Ook!, que según su autor está especialmente diseñado para orangutanes y tan solo usa 3 palabras reservadas (Ook., Ook! y Ook?).
  • Whitespace, que viene a vengar la tremenda injusticia de los lenguajes actuales al ignorar los caracteres no visibles y basa toda su sintáxis en los espacios, tabuladores y retornos de carro.
  • LOLCODE, que en España equivaldría a algo así como el lenguaje de programación HOYGAN, escrito completamente en mayúsculas y en inglés macarrónico.
  • reMorse, que como puede deducirse fácilmente de su nombre basa toda su sintáxis en puntos y guiones.
  • False, cuya sintáxis es indescriptible, tan solo comparable con lo que aparece al editar un fichero ejecutable con el bloc de notas. Para muestra un ejemplo de un programa que imprime todos los números primos entre 0 y 100: “99 9[1-$][\$@$@$@$@\/*=[1-$[%\1-$@]?0=[\$.' ,\]?]?]#”.
  • Whenever, un lenguaje en el que la instrucciones no tienen por qué ejecutarse en el orden en que fueron escritas, sino en el orden que el intérprete del lenguaje decida. Absurdo? Esperpéntico? Inutil?

En fin, en la lista original se mencionan algunos lenguajes más igual de surrealistas, pero se han olvidado de uno de los más importantes, Brainfuck, para mí el rey de todos los lenguajes de programación esotéricos, con una sintáxis también basada en signos de puntuación de lo más variopinto.

¿Cuál de estos lenguajes elegiréis para vuestro próximo proyecto? ¿Alguien se atreve a proponerlos en su empresa?

, ,

Pues para aliviar un poco el shock de todos los lunes y empezar la semana con una sonrisa os paso algo que he encontrado diggeando un poco durante este 16 de marzo.

¿Quién iba a decir que se podía hacer un comic donde los personajes fueran nada más y nada menos que lenguajes de programación? Divertido guiño a la historia y relaciones entre estos lenguajes.

, ,

Hoy me he topado con un proyecto curioso. ¿Te gusta Visual Basic 6 (VB6)? ¿Sigues programando bajo esta plataforma? ¿Te gustaría que tus aplicaciones escritas en VB6 funcionaran no sólo en Windows sino también en otros sistemas operativos como Linux o Mac OS?

La solución obvia a este problema es traducir la aplicación de VB6 a otro lenguaje “independiente” del sistema operativo como por ejemplo Java, para el que como todos sabemos existe un runtime para la mayoría de los sistemas operativos, pero dicha tarea puede requerir una cantidad de trabajo enorme y generar durante la traducción un número de errores aún mayor debido a las grandes diferencias existentes entre ambos lenguajes.

No tengo conocimiento de la existencia de ningún conversor/traductor automático de VB6 a Java, pero hoy he encontrado un proyecto que puede ayudar enormemente a salvar estas dificultades, al menos en proyectos VB6 no demasiado complejos. Este proyecto se llama Jabaco (es gratuito (freeware) aunque requiere registro) y nos propone un nuevo lenguaje compatible casi al 100% con VB6 y un compilador capaz de generar a partir de este código bytecode ejecutable por la Máquina Virtual Java (JVM).

Jabaco (Editor de Código)

Jabaco (Editor de Código)

El compilador de Jabaco viene acompañado además por un IDE sencillo, al estilo del propio IDE de VB6, que proporciona las opciones de edición básicas de un sistema de este tipo (coloreado de sintáxis, autocompletado de código, intellisense…) y un depurador relativamente funcional. Cuenta además con un editor visual de formularios muy parecido al de Visual Studio 6 (que generará internamente código basado en Swing) que permite editar fácilmente la capa de presentación de la aplicación.

Jabaco (Editor de Formularios)

Jabaco (Editor de Formularios)

Una opción interesante es que proporciona además la posibilidad de importar y convertir proyectos de VB6 ya existentes, generando el proyecto correspondiente en Jabaco. Tiene por supuesto algunas dificultades a la hora de convertir llamadas a funciones de la API de Win32, funciones que deberemos implementar de alguna otra forma si queremos que la aplicación resultante pueda ejecutarse sobre otros sistemas operativos distintos a Windows.

En cuanto a las opciones de generación de la aplicación señalar que Jabaco nos da la posibilidad de generar la aplicación final en formato EXE o JAR, aunque en el primer caso se acabará llamando igualmente al runtime de java para ejecutar la aplicación.

En la web oficial de Jabaco podéis encontrar más información, capturas de pantalla e incluso un video donde se demuestran algunas funciones de la aplicación.

En fin, un recurso más a tener en cuenta a la hora de migrar viejos proyectos a plataformas más actuales. Espero que a alguien le pueda ser de utilidad.

, , , ,