"¡Hola Mundo!" programa


De Wikipedia, la enciclopedia libre
  (Redirigido desde Hello, World )
Saltar a navegación Saltar a búsqueda

Un "¡Hola, mundo!" El programa generalmente es un programa de computadora que genera o muestra el mensaje "¡Hola, mundo!". Dicho programa es muy simple en la mayoría de los lenguajes de programación y, a menudo, se utiliza para ilustrar la sintaxis básica de un lenguaje de programación. A menudo es el primer programa escrito por personas que aprenden a codificar. [1] [2] También se puede utilizar como prueba de cordura para asegurarse de que el software informático destinado a compilar o ejecutar el código fuente esté correctamente instalado y que el operador entienda cómo utilizarlo.

Historia

"¡Hola Mundo!" programa de Brian Kernighan (1978)

Si bien han existido pequeños programas de prueba desde el desarrollo de las computadoras programables , la tradición de usar la frase "¡Hola, mundo!" como mensaje de prueba fue influenciado por un programa de ejemplo en el libro seminal de 1978 The C Programming Language . [3] El programa de ejemplo en ese libro imprime "Hola Mundo", y fue heredado de un memorando interno de Bell Laboratories de 1974 por Brian Kernighan , Programación en C: A Tutorial : [4]

principal ( ) {   printf ( "hola, mundo \ n " );}

En el ejemplo anterior, el principal( ) La función define dónde debe comenzar a ejecutarse el programa . El cuerpo de la función consta de una sola declaración , una llamada alprintffunción, que significa " print f ormatted". Esta función hará que el programa genere lo que se le pase como parámetro , en este caso la cadena Hola Mundo, seguido de un carácter de nueva línea .

La versión en lenguaje C fue precedida por el propio Kernighan de 1972 A Tutorial Introduction to the Language B , [5] donde la primera versión conocida del programa se encuentra en un ejemplo utilizado para ilustrar variables externas:

main (  )  {  extern  a ,  b ,  c ;  putchar ( a );  putchar ( b );  putchar ( c );  putchar ( ' ! * n ' ); } un  ' infierno ' ; b  ' o ,  w ' ; c  ' orld ' ;

El programa también imprime ¡Hola Mundo!en la terminal, incluido 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 en el tutorial impreso¡Hola! en la 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.

El archivo de jerga afirma que "¡Hola, mundo!" se originó en cambio con BCPL (1967). [6] Esta afirmación está supuestamente respaldada por las notas archivadas de los inventores de BCPL, Brian Kernighan en Princeton y Martin Richards en Cambridge . La frase es anterior a más de una década de su uso en informática; Ya en la década de 1950, era el eslogan del disc jockey de radio William B. Williams . [7]

Variaciones

Un "¡Hola, mundo!" programa que se ejecuta en PlayStation Portable de Sony como prueba de concepto

"¡Hola Mundo!" los programas varían en complejidad entre diferentes idiomas. En algunos lenguajes, en particular los lenguajes de secuencias de comandos , el mensaje "¡Hola, mundo!" El programa se puede escribir como una sola declaración, mientras que en otros (particularmente en muchos 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, solo es necesario escribir . En contraste, el código equivalente en C ++ [1] requiere la importación de la biblioteca de software de entrada / salida , la declaración manual de un punto de entrada y la instrucción explícita de que la cadena de salida debe enviarse al flujo de salida estándar . Generalmente, los lenguajes de programación que le dan al programador más control sobre la máquina resultarán en programas más complejos de "Hola, Mundo". [8]print("Hello, World!")

La frase "¡Hola mundo!" ha visto varias desviaciones en la puntuación y el uso de mayúsculas y minúsculas, como la presencia de la coma y el signo de exclamación, y las mayúsculas de la H y la W iniciales . Algunos dispositivos limitan el formato a variaciones específicas, como las 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. Por ejemplo, el primer programa Malbolge no trivial imprimió "Hola mundo", ya que se determinó que era lo suficientemente bueno . [9] Se han utilizado otros lenguajes humanos como resultado; por ejemplo, un tutorial para el lenguaje de programación Goemitió caracteres tanto en inglés como en chino o japonés, lo que demuestra el soporte Unicode integrado del lenguaje de programación . [10]

Un "¡Hola, mundo!" mensaje que se muestra a través de pintura de luz de larga exposición con una tira móvil de LED

Algunos idiomas cambian la funcionalidad de "¡Hola, mundo!" programa manteniendo el espíritu de demostrar un ejemplo sencillo. Los lenguajes de programación funcional , como Lisp , ML y Haskell , tienden a sustituir un programa factorial por "¡Hola, mundo!", Ya que la programación funcional enfatiza las técnicas recursivas, mientras que los ejemplos originales enfatizan la E / S, lo que viola el espíritu de pura funcionalidad. programación produciendo efectos secundarios . Idiomas de lo contrario capaces de imprimir "¡Hola, mundo!" (Ensamblaje, C, VHDL ) también se puede usar 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 , arreglos de puertas programables en campo y CPLD , "¡Hola, mundo!" por lo tanto, puede sustituirse por un LED parpadeante , que demuestra la sincronización y la interacción entre los componentes. [11] [12] [13] [14] [15]

Las distribuciones de Debian y Ubuntu Linux 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 una verificación de cordura y un ejemplo simple de instalación de un paquete de software. Para los desarrolladores, proporciona un ejemplo de cómo crear un paquete .deb , ya sea tradicionalmente o usando debhelper , y la versión deHolausado, GNU Hello , sirve como ejemplo de escritura de un programa GNU . [dieciséis]

Variaciones de "¡Hola, mundo!" También se han mostrado programas que producen una salida gráfica (a diferencia de la salida de texto). Sun demostró un "¡Hola, mundo!" programa en Java basado en gráficos vectoriales escalables , [17] y el lenguaje de programación XL presenta una Tierra girando "¡Hola, mundo!" utilizando gráficos de computadora en 3D . [18] Mark Guzdial y Elliot Soloway han sugerido que el mensaje de prueba "hola, mundo" puede estar desactualizado ahora que los gráficos y el sonido pueden manipularse tan fácilmente como el texto. [19]

Hora de hola mundo

"Time to hello world" (TTHW) es el tiempo que se tarda en crear un "Hello, World!" 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!" más complejo. El programa puede indicar que el lenguaje de programación es menos accesible. [8] El concepto se ha extendido más allá de los lenguajes de programación a las API , como una medida de lo simple que es para un nuevo desarrollador hacer funcionar un ejemplo básico; un tiempo más corto indica una API más fácil de adoptar para los desarrolladores. [20] [21]

Ejemplos de

BÁSICO

10 IMPRIMIR "¡Hola, mundo!" 20 FIN   

Lote

@ echo off echo ¡Hola mundo!Salida

C

#include <stdio.h> int main ( void ) {   printf ( "¡Hola mundo!" );}

C ++

#include <iostream> int main () {   std :: cout << "¡Hola mundo!" << std :: endl ;    }

C#

usando el  sistema ; class  App {  static  void  Main ()  {  Console . WriteLine ( "¡Hola mundo!" );  } }

Clojure

( println "¡Hola mundo!" )

Ir

 importación principal del paquete "fmt" func  main ()  {  fmt . Println ( "¡Hola mundo!" ) }

Haskell

main  ::  IO  () main  =  putStrLn  "¡Hola mundo!"

Java

class  Main  {  public  static  void  main ( String []  args )  {  System . fuera . println ( "¡Hola mundo!" );  } }

JavaScript

consola . log ( "¡Hola mundo!" );

C objetivo

#import <Foundation / Foundation.h>int main ( int argc , const char * argv []) {        @ mylak {  NSLog ( @ "¡Hola mundo!" ); } return 0 ; }

Pascal

programa  Hola ; begin  writeeln  ( '¡Hola mundo!' ) end .

Perl

imprimir  "¡Hola mundo! \ n" ;

PHP

<? php echo  "¡Hola mundo!" ; ?>

Potencia Shell

Escribe-Anfitrión  '¡Hola mundo!'

Pitón

print ( "¡Hola mundo!" )

Rubí

pone "¡Hola mundo!"

Oxido

fn  main () {  println! ( "¡Hola mundo!" );}

Rápido

print ( "¡Hola, mundo!" )

Lua

print ( "¡Hola, mundo!" )

Ver también

  • C (lenguaje de programación) § Ejemplo de "Hola, mundo"
  • "99 botellas de cerveza" como se usa en informática
  • Foobar
  • ¡¡Manzana podrida!! (gráfico equivalente a "¡Hola, mundo!" para hardware antiguo)
  • Tienda de mascotas Java
  • Solo otro hacker de Perl
  • Lista de temas básicos de informática
  • Algoritmo de Trabb Pardo-Knuth
  • Lista de programas de ejemplo de Hello World en diferentes lenguajes informáticos

Referencias

  1. ^ James A Langbridge (3 de diciembre de 2013). Desarrollo profesional de ARM integrado . ISBN 9781118887820.
  2. ^ "sinobitorg / hardware" . GitHub .
  3. ^ Kernighan, Brian W .; Ritchie, Dennis M. (1978). El lenguaje de programación C (1ª ed.). Englewood Cliffs, Nueva Jersey : Prentice Hall . ISBN 0-13-110163-3.
  4. ^ Kernighan, Brian (1974). "Programación en C: un tutorial" (PDF) . Bell Labs . Consultado el 9 de enero de 2019 .
  5. ^ "El lenguaje de programación B" .
  6. ^ BCPL , archivo de jerga
  7. ^ "William B. Williams, personalidad de la radio, muere", The New York Times , 4 de agosto de 1986
  8. ↑ a b O'Dwyer, Arthur (septiembre de 2017). Dominar el STL de C ++ 17: haga un uso completo de los componentes de la biblioteca estándar en C ++ 17 . Packt Publishing Ltd . pag. 251. ISBN 978-1-78728-823-2. Consultado el 4 de diciembre de 2019 .
  9. ^ "Malbolge" . Esolang . esolangs-wiki . Consultado el 28 de octubre de 2016 .
  10. ^ Un tutorial para el lenguaje de programación Go. Archivado el 26 de julio de 2010 en ellenguaje de programación Wayback Machine The Go. Consultado el 26 de julio de 2011.
  11. ^ Silva, Mike (11 de septiembre de 2013). "Introducción a los microcontroladores - Hola mundo" . EmbeddedRelated.com . Consultado el 19 de mayo de 2015 .
  12. ^ George, Ligo. "LED parpadeante con microcontrolador Atmega32 y Atmel Studio" . electroSome . Consultado el 19 de mayo de 2015 .
  13. ^ PT, Ranjeeth. "2. Microcontroladores AVR en Linux HOWTO" . El proyecto de documentación de Linux . Consultado el 19 de mayo de 2015 .
  14. ^ Andersson, Sven-Åke (2 de abril de 2012). "3.2 El primer diseño FPGA de Altera" . RTE . AB incrustado en tiempo real. Archivado desde el original el 21 de mayo de 2015 . Consultado el 19 de mayo de 2015 .
  15. ^ Fabio, Adam (6 de abril de 2014). "Tutorial de CPLD: Aprenda la lógica programable de forma fácil" . Hackaday . Consultado el 19 de mayo de 2015 .
  16. ^ "Hola - Proyecto GNU - Free Software Foundation" . gnu.org . Proyecto GNU. Archivado desde el original el 29 de mayo de 2014 . Consultado el 7 de julio de 2017 .
  17. ^ Jolif, Christophe (enero de 2003). "Llevando SVG Power a las aplicaciones Java". Sun Developer Network .
  18. de Dinechin, Christophe (24 de julio de 2010). "¡Hola Mundo!" . Grenouille Bouillie.
  19. ^ "Enseñar a la generación Nintendo a programar" (PDF) . bfoit.org . Archivado desde el original (PDF) el 5 de mayo de 2016 . Consultado el 27 de diciembre de 2015 .
  20. ^ Wiegers, Harold. "La importancia de" Time to First Hello, World! "Un programa API eficiente" .
  21. ^ Jin, Brenda; Sahni, Saurabh; Shevat, Amir (29 de agosto de 2018). Diseño de API web: creación de API que les encanten a los desarrolladores . O'Reilly Media. ISBN 9781492026877. Consultado el 19 de febrero de 2020 .

enlaces externos

  • Rösler, Wolfram. "Colección Hello World" . helloworldcollection.de .
  • "Hola mundo / Texto" . Código Rosetta .
  • "GitHub - leachim6 / hello-world: ¡Hola mundo en todos los lenguajes de computadora. Gracias a todos los que contribuyen a esto, asegúrese de ver CONTRIBUTING.md para obtener instrucciones de contribución!" .
  • "Héroes no cantados de TI / Primera parte: Brian Kernighan" . TheUnsungHeroesOfIT.com . Archivado desde el original el 26 de marzo de 2016 . Consultado el 23 de agosto de 2014 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=%22Hello,_World!%22_program&oldid=1045942420 "