La polémica en torno al origen del «¡Hola, mundo!»: desentrañamos en qué año empezó a utilizarse este ejemplo para programadores

Cualquier persona que haya aprendido a programar (o que, meramente, haya intentado ponerse a ello), sabe que existe una larga tradición de utilizar la frase «Hola, mundo!» («Hello, World!, en inglés) como primer paso para escribir nuestro primer programa o script.


El objetivo es utilizar una función que muestre dicha frase en pantalla. En el caso del lenguaje C, el código para lograr eso sería el siguiente:

#include <stdio.h>
  int main() {
  printf("Hello, World!");
  }


El pasado lunes, el CSAIL (Laboratorio de Ciencia Computacional e Inteligencia Artificial) del MIT publicaba un tuit celebrando el aniversario «del día en el que el ‘Hola mundo’ dijo ‘¡Hola, mundo!’»:


Según el mismo, eso había ocurrido en 1978 con la publicación del histórico libro «C programming Language», de Brian Kernighan y Dennis Ritchie, que incluye el código escrito un poco más arriba.


Parece factible que tal efeméride se sitúe en el momento en que el creador del lenguaje más popular y versátil de la historia de la informática publicó el primer manual de uso del mismo. Sin embargo, rápidamente varios usuarios contestaron al CSAL discrepando de tal afirmación.


En primer lugar, muchos recordaron que Kernighan, coautor de dicho libro (pero no creador de C) había escrito un memorándum interno para Bell Laboratories (donde también trabajaba Ritchie) denominado ‘Programming in C: A Tutorial’, que incluía este otro código, muy similar:

main( ) {
printf("hello, world\n"); }


¿Entonces, definitivamente el CSAIL se equivoca y el ‘Hola, mundo’ nació en 1974? Pues… no, podemos tirar aún más del hilo.

El manual al que el MIT atribuye (parece que erróneamente) la primera aparición del ‘Hola, mundo’.


Hola Mundo en B


Y es que, aunque Kernighan no creó C, sí había creado poco antes el predecesor del mismo, denominado -cómo no- lenguaje B… y en 1973 había escrito una breve obra introductoria llamada «A tutorial introduction to the language B» (que hoy en día podemos consultar online en PDF).


En ella, encontraremos el siguiente código, que, si bien es algo más intrincado que el ‘Hello World’ tradicional (por una limitación del propio lenguaje, que limitaba las variables a cuatro caracteres), tiene la misma función (y la misma salida en pantalla):

main( ) {
extrn a,b,c,d; put2char(a,b) ; put2char(c,d) ;
}
put2char(x,y) {
putchar(x); putchar(y);
}
a ’hell’; b ’o, w’; c ’orld’; d ’!*n’;


Cuando, en 2011, Forbes India le preguntó a Kernighan por qué había elegido precisamente esas dos palabras, sólo fue capaz de aclarar lo siguiente:

«Mi memoria es difusa ahora. Lo que sí recuerdo es que había visto una caricatura que mostraba un huevo y una chica y la chica decía: ‘Hola, mundo’».


Kernighan parece reconocer aquí su autoría de la frase, incluso si no recuerda qué la inspiró. Pero hay quien afirma que podríamos tener que ir más atrás aún para localizar el primer uso en programación de la frase de marras.


¿Aún más atrás?


Y es que, según el Jargon File, el primer programa ‘Hello World’ habría sido escrito no en lenguaje B, sino en su predecesor… el BCPL (no, no era el lenguaje A, por ilógico que parezca).


Lo malo es que, pese a que varias otras webs sostienen la misma hipótesis, ni éstas ni el Jargon File incluyen fuentes que respalden la misma, ni precisan en qué año se habría escrito el código en cuestión.


De todos modos, por si te queda la duda, ese primer ‘Hola, mundo’ en BCPL habría lucido así:

GET "libhdr"
LET start() = VALOF
$( writes("Hello world*N")
RESULTIS 0
$)


El ejemplo anterior ha sido extraído de «The Hello World Collection», una web que recopila versiones de este programa escritas en 603 lenguajes informáticos y en 78 lenguajes humanos; y que se adhiere también a la teoría de que fue Brian W. Kernighan quien, en 1973, escribió el primer ‘Hola, mundo’ en lenguaje B.



Fuente: Genbeta


¿Quieres dar un salto educativo y formarte en programación? En EducaciónIT tenemos una gran oferta de cursos, junto con un plan de carrera, mediante los cuales podrás convertirte en un programador profesional con la capacitación más completa y actualizada del mundo IT.

Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.