jueves, 4 de octubre de 2012

By any Other Name o la Aventura de Hanoi en los Lenguajes

What's in a name? that which we call a rose
 By any other name would smell as sweet
Shakespeare

Introducción

Cuando era niño, me intrigaba mucho un libro que había en la biblioteca de mi casa y solía sacarlo del anaquel y ojearlo con mucho interés, aunque no podía comprender bien de qué se trataba, me daba cuenta que se relacionaba con algo así como un "cerebro electrónico" que podía pensar en forma autónoma. El libro se llamaba Cibernética y su autor era Norbert Wiener. Esta curiosidad me llevó a estudiar informática y a aprender algunos lenguajes de programación.


¿Programar en Todos los Lenguajes? 

La cantidad de lenguajes de programación que existen en la actualidad, aunque finita es muy grande, aún así, pienso que un individuo puede tomar un pequeño algoritmo e implementarlo en, digamos, muchos lenguajes. Por esta razón, desempolvé el viejo algoritmo de la "Torre de Hanoi" para acometer esta aventura de programarlo en tantos lenguajes como me sea posible, y me puse manos a la obra.

El Recorrido de Hanoi Hasta el Momento

Uno de los desafíos de este experimento consiste en obtener los compiladores para probar el código y hacerlo funcionar. Por fortuna, las décadas de Shareware y GNU, junto con la generosidad de muchos Informáticos, han nutrido la web con una amplia colección de Compiladores, Ensambladores, Emuladores e Intérpretes.

Bueno, si, también eché mano de algunos compiladores comerciales que ya pueden considerarse obsoletos, o por lo menos anticuados "legacy software". Pero, qué aventurero que se precie de tal va a renunciar a su hazaña por el simple hecho de evitar recurrir a alguna treta subrepticia.

Además, como mi intención es que aquellos lectores interesados puedan reproducir la experiencia y sacar de paseo su algoritmo favorito en los lenguajes de elección, escogí los compiladores para la plataforma más ubicua del mundo PC Win/Dos/Unix (muchos compiladores disponen también versiones para Mac y Workstarions).

Voy a publicar una entrada para cada lenguaje con comentarios y recomendaciones y le voy a agregar el enlace para poder acceder en forma directa. Además, a medida que pruebe otros lenguajes, la lista de abajo se irá acrecentando.

La siguiente es una lista de todos los lenguajes en que programé el algoritmo de las Torres de Hanoi hasta el momento.

Debug "Assembler"

Quick Basic

Visual Basic 1.0

QBasic

Java

LOGO

VB.NET

PROLOG-2

Assembler A86

Strawberry Prolog

Turbo C++

Turbo Pascal

LISP

XPL0

Turbo Prolog

dBase III Plus

Clipper

RM-COBOL

ASP

FORTRAN

JavaScript/HTML

ALGOL

Python

Jython

APL

PLI

Modula-2

RPG-II

Emulador EM6800

MEK-6800

Excel VBA

ET-3400

ADA

C# & ASP.NET


Que tengan un gran día,

Sergio Otaño

0 comentarios: