Un "¡Hola mundo!" Un programa es generalmente un programa de computadora simple que emite (o muestra) en la pantalla (a menudo la consola ) un mensaje similar a "¡Hola, mundo!" mientras ignora cualquier entrada del usuario. Este programa , un pequeño fragmento de código en la mayoría de los lenguajes de programación de propósito general , se utiliza para ilustrar la sintaxis básica de un lenguaje . Un "¡Hola mundo!" El programa suele ser el primero escrito por un estudiante de un nuevo lenguaje de programación, [1] pero dicho programa también se puede utilizar como control de cordura para garantizar que el software destinado a compilar o ejecutar el código fuente esté correctamente instalado y que su El operador entiende cómo usarlo.
Si bien han existido pequeños programas de prueba desde el desarrollo de las computadoras programables , la tradición de utilizar la frase "¡Hola, mundo!" como mensaje de prueba fue influenciado por un programa de ejemplo en el libro de 1978 The C Programming Language , [2] con un uso probablemente anterior en BCPL . El programa de ejemplo del libro imprime."Hola Mundo", y fue heredado de un memorando interno de Bell Laboratories de 1974 escrito por Brian Kernighan , Programación en C: Un tutorial : [3]
principal ( ) { printf ( "hola mundo" ); }
En el ejemplo anterior, elprincipal( ) La función define dónde debe comenzar a ejecutarse el programa . El cuerpo de la función consta de una única declaración , una llamada alimprimirf()función, que significa " impresión formateada"; envía a la consola todo lo que se le pasa como parámetro , en este caso la cadena "Hola Mundo".
La versión en lenguaje C fue precedida por el propio Tutorial de introducción al lenguaje B de Kernighan de 1972 , [4] donde se encuentra la primera versión conocida del programa en un ejemplo utilizado para ilustrar variables externas:
principal( ) { extrín a, b, c; putchar(a); ponerchar(b); ponerchar(c); putchar('!*n');} un 'infierno';arco';c 'mundo';
El programa de arriba imprime¡Hola Mundo!en el terminal, incluido un carácter de nueva línea . La frase se divide en múltiples variables porque en B una constante de caracteres está limitada a cuatro caracteres ASCII . El ejemplo anterior del tutorial impreso.¡Hola!en el terminal, y la frase¡Hola Mundo!se introdujo como un saludo un poco más largo que requería varias constantes de caracteres para su expresión.
The Jargon File informa que "hola, mundo" se originó en 1967 con el lenguaje BCPL . [5] Fuera de la informática, el uso de la frase exacta comenzó más de una década antes; era el eslogan del disc jockey de radio de Nueva York William B. Williams a partir de la década de 1950. [6]
"¡Hola Mundo!" Los programas varían en complejidad entre diferentes idiomas. En algunos idiomas, particularmente en los lenguajes de secuencias de comandos , el mensaje "¡Hola, mundo!" El programa se puede escribir como una declaración, mientras que en otros (más tantos lenguajes de bajo nivel ) se pueden requerir muchas más declaraciones. Por ejemplo, en Python , para imprimir la cadena¡Hola Mundo!seguido de una nueva línea, sólo hay que escribir . Por el contrario, el código equivalente en C++ [7] requiere la importación de la biblioteca de software de entrada/salida (E/S) , la declaración manual de un punto de entrada y la instrucción explícita de que la cadena de salida debe enviarse a la salida estándar. arroyo.print("Hello, World!")
La frase "¡Hola mundo!" ha visto varias desviaciones en las mayúsculas y la puntuación, como el uso de mayúsculas en las letras H y W iniciales , y la presencia de la coma o el signo de exclamación. Algunos dispositivos limitan el formato a variaciones específicas, como versiones totalmente en mayúsculas en sistemas que solo admiten letras mayúsculas, mientras que algunos lenguajes de programación esotéricos pueden tener que imprimir una cadena ligeramente modificada. Por ejemplo, el primer programa Malbolge no trivial imprimió "HEllO WORld", ya que se determinó que era lo suficientemente bueno . [8] [ ¿ fuente poco confiable? ] Se han utilizado otros lenguajes humanos como resultado; por ejemplo, un tutorial para el idioma Go emitió caracteres tanto en inglés como en chino o japonés, lo que demuestra la compatibilidad Unicode incorporada del idioma . [9] Otro ejemplo destacable es el lenguaje Rust , cuyo sistema de gestión inserta automáticamente un programa "Hola, mundo" al crear nuevos proyectos.
Algunos idiomas cambian la función del mensaje "¡Hola, mundo!" programa manteniendo el espíritu de demostrar un ejemplo simple. Los lenguajes de programación funcional , como Lisp , ML y Haskell , tienden a sustituir "¡Hola, mundo!" por un programa factorial , ya que la programación funcional enfatiza técnicas recursivas, mientras que los ejemplos originales enfatizan la E/S, lo que viola el espíritu de programación funcional pura. programación produciendo efectos secundarios . Los idiomas que de otro modo podrían imprimir "¡Hola, mundo!" ( lenguaje ensamblador , C , VHDL ) también se puede utilizar en sistemas integrados , donde la salida de texto es difícil (requiere componentes adicionales o comunicación con otra computadora) o inexistente. Para dispositivos como microcontroladores , conjuntos de puertas programables en campo y dispositivos lógicos programables complejos (CPLD), "¡Hola, mundo!" Por lo tanto, se puede sustituir por un diodo emisor de luz (LED) parpadeante, que demuestra la sincronización y la interacción entre los componentes. [10] [11] [12] [13] [14]
Las distribuciones de Linux Debian y Ubuntu proporcionan el mensaje "¡Hola, mundo!" programa a través de sus sistemas de gestión de paquetes de software , que se pueden invocar con el comandoHola. Sirve como comprobación de integridad y como ejemplo sencillo de instalación de un paquete de software. Para los desarrolladores, proporciona un ejemplo de cómo crear un paquete .deb , ya sea de forma tradicional o usando debhelper , y la versión deHolaUsado, GNU Hola , sirve como ejemplo de cómo escribir un programa GNU . [15]
Variaciones del programa "¡Hola, mundo!" También se han mostrado programas que producen una salida gráfica (a diferencia de una salida de texto). Sun demostró un "¡Hola, mundo!" programa en Java basado en gráficos vectoriales escalables , [16] y el lenguaje de programación XL presenta una Tierra giratoria "¡Hola, mundo!" usando gráficos por computadora en 3D . [17] Mark Guzdial y Elliot Soloway han sugerido que el mensaje de prueba "hola, mundo" puede estar obsoleto ahora que los gráficos y el sonido pueden manipularse tan fácilmente como el texto. [18]
"Hora de hola mundo" (TTHW) es el tiempo que lleva crear un "¡Hola, mundo!" programa en un lenguaje de programación determinado. Ésta es una medida de la facilidad de uso de un lenguaje de programación; Dado que el programa está pensado como una introducción para personas que no están familiarizadas con el idioma, un "¡Hola, mundo!" El programa puede indicar que el lenguaje de programación es menos accesible. [19] El concepto se ha extendido más allá de los lenguajes de programación a las API , como una medida de lo sencillo que es para un nuevo desarrollador conseguir que un ejemplo básico funcione; un tiempo más corto indica una API más fácil de adoptar para los desarrolladores. [20] [21]