Articulo de referencia

Hola Mundo

Un programa " Hola, mundo " suele ser un programa informático sencillo que muestra en la pantalla (a menudo la consola ) un mensaje similar a "Hola, mundo". Este pequeño fragmen...

Un programa " Hola, mundo " suele ser un programa informático sencillo que muestra en la pantalla (a menudo la consola ) un mensaje similar a "Hola, mundo". Este pequeño fragmento de código, presente en la mayoría de los lenguajes de programación de propósito general , se utiliza para ilustrar la sintaxis básica del lenguaje . Este programa suele ser el primero que escribe un estudiante de un nuevo lenguaje de programación, [ 1 ] pero también puede utilizarse como una comprobación para asegurar que el software destinado a compilar o ejecutar el código fuente esté correctamente instalado y que su operador comprenda cómo usarlo.

Historia

Un programa para imprimir "hola, mundo", escrito a mano en lenguaje C y firmado por Brian Kernighan (1978).

Si bien han existido varios programas de prueba pequeños desde el desarrollo de las computadoras programables , la tradición de usar la frase "Hola, mundo" como mensaje de prueba fue influenciada 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 memorándum interno de Bell Laboratories de 1974 de Brian Kernighan , Programming in C: A Tutorial : [ 3 ]

main ( ) { 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 sola instrucción , una llamada a laprintf()función, que significa " imprimir formateado"; imprime en la consola 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 Kernighan de 1972, A Tutorial Introduction to the Language B , [ 4 ] donde la primera versión conocida del programa se encuentra en un ejemplo utilizado para ilustrar variables externas:

principal( ) { Ext. a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } un 'infierno'; arco'; c 'mundo'; 

El programa anterior imprime¡Hola Mundo!en la terminal, incluyendo un carácter de nueva línea . La frase se divide en múltiples variables porque en B , una constante de carácter está limitada a cuatro caracteres ASCII . El ejemplo anterior del tutorial imprimió¡Hola!en la terminal y la frase¡Hola Mundo!Se introdujo como un saludo ligeramente más largo que requería varias constantes de caracteres para su expresión.

Según The Jargon File, la expresión "¡hola, mundo!" se originó en 1967 con el lenguaje BCPL . [ 5 ] Fuera del ámbito informático, el uso de la frase exacta comenzó más de una década antes; era el eslogan del locutor de radio neoyorquino William B. Williams a partir de la década de 1950. [ 6 ]

Variaciones

"Hola mundo", mostrado por un programa que se ejecuta en la PlayStation Portable de Sony como prueba de concepto.

Los programas "Hola, mundo" varían en complejidad entre diferentes lenguajes. En algunos lenguajes, particularmente en lenguajes de scripting , el programa "Hola, mundo" se puede escribir como una sola instrucción, mientras que en otros (sobre todo en muchos lenguajes de bajo nivel ) se pueden requerir muchas más instrucciones. Por ejemplo, en Python , para imprimir la cadenaHola Mundoseguido de un salto de línea, solo es necesario escribir . En contraste, el código equivalente en C++ [ 7 ] requiere la importación de la biblioteca estándar de C++ , la declaración de un punto de entrada (función principal) y una llamada para imprimir una línea de texto en el flujo de salida estándar.print("Hello, world")

Ensayo de mecanizado por control numérico computarizado (CNC) en poli(metacrilato de metilo) (Perspex).

La frase "Hola, mundo" ha sufrido diversas variaciones en el uso de mayúsculas y minúsculas y en la puntuación, como la presencia o ausencia de la coma o el signo de exclamación. Algunos dispositivos limitan el formato a variaciones específicas, como versiones 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. Se han utilizado otros idiomas humanos como salida; por ejemplo, un tutorial para el lenguaje Go generó caracteres tanto en inglés como en chino o japonés , demostrando la compatibilidad integrada del lenguaje con Unicode . [ 8 ] Otro ejemplo notable es el lenguaje Rust , cuyo sistema de gestión inserta automáticamente un programa "Hola, mundo" al crear nuevos proyectos.

Un mensaje de "HOLA MUNDO" que se muestra mediante pintura con luz de larga exposición utilizando una tira móvil de diodos emisores de luz (LED).

Algunos lenguajes modifican la función del programa "Hola, mundo" manteniendo la esencia de mostrar un ejemplo sencillo. Los lenguajes de programación funcional , como Lisp , ML y Haskell , suelen sustituir "Hola, mundo" por un programa factorial , ya que la programación funcional enfatiza las técnicas recursivas, mientras que los ejemplos originales se centran en la entrada/salida, lo que contradice el espíritu de la programación funcional pura al generar efectos secundarios . Los lenguajes capaces de imprimir "Hola, mundo" ( lenguaje ensamblador , C , VHDL ) también pueden utilizarse en sistemas embebidos , donde la salida de texto es difícil (requiere componentes adicionales o comunicación con otro ordenador) o inexistente. En dispositivos como microcontroladores , matrices de puertas programables en campo y dispositivos lógicos programables complejos (CPLD), "Hola, mundo" puede sustituirse por un diodo emisor de luz (LED) parpadeante, que demuestra la sincronización y la interacción entre componentes. [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ]

Las distribuciones Debian y Ubuntu Linux proporcionan el programa "Hola, mundo" a través de sus sistemas de gestión de paquetes de software , que se puede invocar con el comandoHola. Sirve como una verificación de cordura y un ejemplo simple de instalación de un paquete de software. Para los desarrolladores, proporciona un ejemplo de creación de un paquete .deb , ya sea de forma tradicional o usando debhelper , y la versión deHolaEl programa GNU Hello , utilizado en este caso , sirve como ejemplo de cómo escribir un programa GNU . [ 14 ]

También se han mostrado variaciones del programa "Hola, mundo" que producen una salida gráfica (en lugar de una salida de texto). Sun demostró un programa "Hola, mundo" en Java basado en gráficos vectoriales escalables , [ 15 ] y el lenguaje de programación XL presenta un "Hola, mundo" de la Tierra girando usando gráficos 3D por computadora . [ 16 ] 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 se pueden manipular con la misma facilidad que el texto. [ 17 ]

En gráficos por computadora , la representación de un triángulo —el "Triángulo Hola" se utiliza a veces como ejemplo introductorio para bibliotecas gráficas . [ 18 ] [ 19 ]

Es hora de decir Hola Mundo

El "tiempo para hola mundo" (TTHW) es el tiempo que se tarda en escribir un programa "Hola, mundo" en un lenguaje de programación determinado. Esta 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 lenguaje, un programa "Hola, mundo" más complejo puede indicar que el lenguaje de programación es menos accesible. [ 20 ] Por ejemplo, el primer programa "Hola, mundo" conocido públicamente en Malbolge (que en realidad producía "Hello World") tardó dos años en anunciarse, y no fue producido por un humano sino por un generador de código escrito en Common Lisp .

El concepto se ha extendido más allá de los lenguajes de programación a las API , como medida de la sencillez con la que un nuevo desarrollador puede hacer funcionar un ejemplo básico; un tiempo menor indica una API más fácil de adoptar para los desarrolladores. [ 21 ] [ 22 ]

Artículos de Wikipedia que contienen programas "Hola, mundo"

Véase también

Referencias

  1. Langbridge, James A. (3 de diciembre de 2013). Desarrollo profesional de ARM integrado . John Wiley & Sons. ISBN 9781118887820.
  2. Kernighan, Brian W.; Ritchie , Dennis M. (1978). El lenguaje de programación C (1.ª ed.). Englewood Cliffs, Nueva Jersey : Prentice Hall . pág . 6. ISBN   0-13-110163-3.
  3. Kernighan, Brian (1974). "Programación en C: Un tutorial" (PDF) . Bell Labs. Archivado del original (PDF) el 22 de marzo de 2022. Recuperado el 9 de enero de 2019 .
  4. Johnson, SC; Kernighan, BW El lenguaje de programación B. Bell Labs. Archivado del original el 11 de junio de 2015. Recuperado el 8 de agosto de 2024 .
  5. "BCPL" . Archivo de jerga . Archivado del original el 3 de abril de 2018. Consultado el 21 de abril de 2013 .
  6. «William B. Williams, personalidad de la radio, fallece» . The New York Times . 4 de agosto de 1986.
  7. "Programación en C++/Ejemplos/Hola mundo" . Wikibooks . Archivado del original el 28 de marzo de 2022. Consultado el 16 de marzo de 2022 .
  8. Tutorial del lenguaje de programación Go. Archivado el 26 de julio de 2010 en Wayback Machine. El lenguaje de programación Go. Consultado el 26 de julio de 2011.
  9. Silva, Mike (11 de septiembre de 2013). "Introducción a los microcontroladores: Hola mundo" . EmbeddedRelated.com . Archivado del original el 22 de mayo de 2015. Consultado el 19 de mayo de 2015 .
  10. George, Ligo (8 de mayo de 2013). "LED parpadeante usando el microcontrolador Atmega32 y Atmel Studio" . electroSome . Archivado del original el 5 de noviembre de 2014. Recuperado el 19 de mayo de 2015 .
  11. PT, Ranjeeth. "2. Microcontroladores AVR en Linux: Guía práctica" . El Proyecto de Documentación de Linux . Archivado del original el 2 de mayo de 2015. Consultado el 19 de mayo de 2015 .
  12. ^ Andersson, Sven-Åke (2 de abril de 2012). "3.2 El primer diseño de FPGA de Altera" . Raidió Teilifís Éireann. Archivado desde el original el 21 de mayo de 2015 . Consultado el 19 de mayo de 2015 .
  13. Fabio, Adam (6 de abril de 2014). "Tutorial de CPLD: Aprende lógica programable de forma sencilla" . Hackaday . Archivado del original el 20 de mayo de 2015. Consultado el 19 de mayo de 2015 .
  14. "Hola" . Proyecto GNU . Fundación del Software Libre . Consultado el 7 de julio de 2017 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  15. Jolif, Christophe (enero de 2003). "Llevando el poder de SVG a las aplicaciones Java". Sun Developer Network .
  16. ^ de Dinechin, Christophe (24 de julio de 2010). "¡Hola Mundo!" . Grenouille Bouillie.
  17. "Enseñando a la generación Nintendo a programar" (PDF) . bfoit.org . Archivado del original (PDF) el 5 de mayo de 2016. Consultado el 27 de diciembre de 2015 .
  18. Vries, Joey de (2020). Aprende OpenGL - Programación gráfica . Kendall & Welling. pág. 26. ISBN  978-90-90-33256-7.
  19. Beuken, Brian (enero de 2018). "Programación de juegos en Raspberry Pi en C/C++ Parte 01". The MagPi . N.° 65. pág. 57. La próxima vez ampliaremos nuestro código para empezar a trabajar con gráficos y el famoso código 'hola triángulo' que absolutamente nadie usa excepto los programadores de juegos.  
  20. O'Dwyer, Arthur (septiembre de 2017). Dominando la STL de C++17: Aprovecha al máximo los componentes de la biblioteca estándar en C++17 . Packt Publishing Ltd. pág. 251. ISBN  978-1-78728-823-2. Consultado el 4 de diciembre de 2019 .
  21. Wiegers, Harold (28 de junio de 2018). "La importancia de "Time to First Hello, World!" en un programa API eficiente" . Archivado del original el 19 de febrero de 2020. Recuperado el 19 de febrero de 2020 .
  22. Jin, Brenda; Sahni, Saurabh; Shevat, Amir (29 de agosto de 2018). Diseño de API web: Creación de API que encantan a los desarrolladores . O'Reilly Media. ISBN 9781492026877. Consultado el 19 de febrero de 2020 .
  • La colección Hello World
  • "Hola mundo/Texto" . Código Rosetta . 23 de mayo de 2024.
  • "GitHub – leachim6/hello-world: Hola mundo en todos los lenguajes de programación. Gracias a todos los que contribuyan. ¡Consulten CONTRIBUTING.md para obtener instrucciones sobre cómo contribuir!" . GitHub . 30 de octubre de 2021.
  • "Héroes Anónimos de TI: Parte Uno: Brian Kernighan" . TheUnsungHeroesOfIT.com . Archivado del original el 26 de marzo de 2016. Consultado el 23 de agosto de 2014 .