miércoles, 10 de noviembre de 2010

Diez lenguajes de programación poco convencionales


Entre las rarezas de la informática una particularmente interesante es la de los esolangs, o lenguajes de programación esotéricos, diseñados con frecuencia no con un objetivo práctico, sino como una broma, o para probar una teoría, o un ejercicio en diseño de lenguajes, o para explorar los límites de la creatividad.
He aquí una lista de esos diez lenguajes (esolangs y convencionales) que llaman particularmente la atención:
  1. INTERCAL: Uno de los primeros lenguajes esotéricos, fue diseñado como una parodia de COBOL y FORTRAN, con el objetivo expreso de que fuese difícil de entender. Entre sus más famosas instrucciones se cuenta COME FROM (“VEN DESDE”), la versión INTERCAL del denostado GOTO (“IR A”).
  2. brainfuck: Aparte de por contener una palabra malsonante en el nombre, este lenguaje es conocido por su extrema simplicidad y por ser absolutamente ininteligible. Apenas dispone de ocho instrucciones, todas ellas signos de puntuación, y se han escrito compiladores para él en menos de 200 bytes.
  3. Redcode: No exactamente un esolang, el Redcode es un lenguaje ensamblador especializado para la programación de robots de combate virtuales en un juego llamado Core Wars. Redcode tuvo su momento de gloria en los 80, al darse a conocer a través de la prestigiosa revista Scientific American (y su edición en español, Investigación y Ciencia), y aunque el interés ha decaído, aún tiene fervientes seguidores.
  4. Perl 6: Tampoco en este caso se trata de un esolang propiamente dicho, pero la próxima iteración del popular lenguaje Perl, con diez años de desarrollo y sin fecha prevista de aparición, incluye conceptos tan extraños como los ensamblajes o junctions, operadores anteriormente denominados superposiciones e inspirados en la física cuántica.
  5. Befunge: La primera versión de este lenguaje, Befunge-93, se programa sobre una parrilla de 80 × 25 caracteres; el flujo de control del programa se desplaza bidireccionalmente sobre la parrilla, y el código automodificable está a la orden del día. Funge-98 le da una vuelta de tuerca, al ejecutarse sobre un espacio toroidal finito pero infinitamente extensible.
  6. Unlambda: Diseñado a partir de una sólida base teórica, este extraño cruce entre lo esotérico y lo funcional carece por completo de operadores, variables o tipos de datos (ni siquiera números), a excepción de uno: funciones de un argumento; y la única estructura de control es la continuación (una herencia del Scheme). El propio autor del lenguaje declara que “escribir un programa en Unlambda no es tan difícil como parece; leerlo, sin embargo, es prácticamente imposible”. No exagera.
  7. colorForth: Si FORTH, con su manejo de la pila y su sintaxis modificable, tuvo siempre fama de ser un lenguaje difícil, colorForth va un paso más allá al eliminar parte de la puntuación y substituirla por colores (o, en algunas versiones, por itálica y otros recursos tipográficos).
  8. El Juego de la Vida: Este conocido ejemplo de autómata celular tiene potencia expresiva suficiente para ser considerado un lenguaje de programación (en términos técnicos, es Turing-completo) y para demostrarlo hay quien ha construido puertas lógicas, un sumador e incluso un generador de números primos.
  9. APL: Creado por Kenneth Iverson, de IBM, en los años 60 como una notación para enseñar a programar, pronto se convirtió en un lenguaje extremadamente potente (todos los operadores manipulan matrices de forma genérica, por ejemplo), pero lastrado por una notación excesivamente compacta y por el uso de un juego de caracteres propio difícil de aprender y utilizar. Como curiosidad, se usó para hacer los efectos especiales de Tron, y para programar el ordenador Deep Blue que venció a Kasparov.
  10. Haskell: A diferencia de muchos de los ejemplos anteriores, no se trata en este caso de un ejercicio o un juego, sino de uno de los lenguajes funcionales más utilizados, especialmente en el ámbito académico. Una de sus caracerísticas más notorias, aparte de su concisa formulación casi matemática, es que la indentación de las líneas de código es significativa, lo cual dota al código de una profunda elegancia.

martes, 9 de noviembre de 2010

Microsoft tech days - Chile 2010



Por segundo año consecutivo se realizó un Tech Days en Chile. Este es un encuentro de miles de informáticos reunidos en un gran evento de todo un día, con más de 20 charlas técnicas sobre distintas tecnologías y temas.

Este año los temas protagonistas del evento fueron: Cloud Computing, Windows Phone 7, Internet Explorer 9, Desarrollo Web y la  plataforma de Comunicaciones Unificadas, entre otros.

Al final del evento se realizó un sorteo en donde regalaron varios productos Microsoft (teclados, mouse, etc), cursos, notebooks y una consola XBOX.  Para mi suerte, me gané uno de los notebooks.  Aquí la foto oficial.



Cómo volver a casa...

" No Importa lo que PASO DURANTE El Día ...
Vuelve Siempre a Casa Con la Cabeza bien erguida... "



 Desplumado , aporreado , maltratado
¡¡ Pero derechito !!