Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

La piedra Rosetta de los lenguajes de programación

Dice la Wikipedia: “La Piedra de Rosetta es un fragmento de una antigua estela egipcia de granodiorita inscrita con un decreto publicado en Menfis en...

rosetta-stone00
Dice la Wikipedia: “La Piedra de Rosetta es un fragmento de una antigua estela egipcia de granodiorita inscrita con un decreto publicado en Menfis en el año 196 a. C. en nombre del faraón Ptolomeo V. El decreto aparece en tres escrituras distintas: el texto superior en jeroglíficos egipcios, la parte intermedia en escritura demótica y la inferior en griego antiguo. Gracias a que presenta esencialmente el mismo contenido en las tres inscripciones, con diferencias menores entre ellas, esta piedra facilitó la clave para el entendimiento moderno de los jeroglíficos egipcios”. Y hablamos de ella porque hay un sitio, rosettacode.org, que busca presentar las soluciones a la misma tarea en tantos lenguajes de programación como sea posible, para así probar cómo los lenguajes son similares o diferente, y para ayudar a los programadores que saben utilizar un lenguaje, a aprender a hacer las mismas tareas usando otro. Vamos, que es una buena idea incluso para aprender.

RosettaCode.Org actualmente cuenta con 757 diferentes tareas, problemas a resolver, pues. Con 131 problemas aún en borrador y con unos 559 lenguajes de programación en donde se resuelven en todos los lenguajes posibles, las tareas a resolver. Evidentemente, no todos los lenguajes pueden a veces, resolver una tarea común. Tal vez esto ocurra porque sus paradigmas o campos de acción no resultan adecuados. Sin embargo, en la mayoría de los casos, podemos encontrar resueltas tareas que muchas veces requerimos para realizar una tarea definida para un programa en particular.

Por ejemplo, supongamos que queremos ver código fuente para el algoritmo de la burbuja (en ordenamiento de datos). Hallaremos los siguientes ejemplos, desde el lenguaje ensamblador 360 (360 assembly), hasta un lenguaje muy particular, llamado Yorick, el cual es interpretado y sirve para simulaciones científicas.

He aquí ejemplos del ordenamiento de la burbuja en diferentes lenguajes:

Common LISP:
LISP-bubblesort

Eiffel:

EIFFEL-bubblesort

Ti-83 BASIC:

 

TI-83-bubblesort

Referencias:

Rosetta Code

Comentarios