Hola mundo
En informática, un programa Hola mundo (o Hello World, en inglés) es el que imprime el texto «¡Hola, mundo!» en un dispositivo de visualización (generalmente una pantalla de monitor). Se suele usar como introducción al estudio de un lenguaje de programación, siendo un primer ejercicio típico.
El Hola Mundo se caracteriza por su sencillez, especialmente cuando se utiliza en programas de línea de comandos. En interfaces gráficas este programa suele tener una complejidad mayor.
Un programa Hola Mundo puede ser útil como prueba de configuración para asegurar que el compilador, que el entorno de desarrollo, y que el entorno de ejecución están instalados correctamente y funcionando. Configurar un conjunto de herramientas básicas completo desde cero hasta el punto donde hasta los programas triviales puedan ser compilados y ejecutados, puede involucrar una cantidad de trabajo sustancial. Por esta razón, generalmente es usado un programa muy simple para probar un conjunto de herramientas nuevo.
Aunque han existido programas de prueba desde el desarrollo de las primeras computadoras programables, se cree que un ejemplo incluído en el libro El Lenguaje de Programación C fue determinante en la tradición de usar Hola Mundo como un mensaje de prueba.
Ejemplos en diferentes lenguajes
En ABAP/IV
REPORT HOLAMUNDO. WRITE '¡Hola, mundo!'.
En ABC
WRITE "¡Hola mundo!"
En ActionScript
trace("¡Hola, mundo!");
En Ada
with Ada.Text_IO; procedure Hola_Mundo is begin Ada.Text_IO.Put("¡Hola, mundo!"); end Hola_Mundo;
En ALGOL
BEGIN FILE F (KIND=REMOTE); EBCDIC ARRAY E [0:12]; REPLACE E BY "HOLA MUNDO!"; WHILE TRUE DO BEGIN WRITE (F, *, E); END; END.
En ASP
<% Response.Write("Hola Mundo") %>
En AWK
#!/bin/awk -f BEGIN{ print "¡Hola, mundo!"; }
En Bash
#!/bin/bash echo "Hola mundo"
En Batch
@echo off echo "Hola mundo"
En Basic
10 print "Hola Mundo"
En TrueBasic
print "Hola Mundo"
En GWBasic
print "Hola Mundo"
En Visual Basic
Sub Hola_mundo() MsgBox "¡Hola, mundo!" End Sub
Private Sub Form_Load() Handles Form1.Load Messagebox.show("¡Hola, mundo!") End Sub
En Delphi
program PHolaMundo; uses Dialogs; begin MessageDlg('Hola Mundo', mtInformation, [mbOK], 0); end.
PROGRAM Hola Mundo;
PRIVATE fuente1; BEGIN fuente1 = load_fnt("help\help.fnt"); write(fuente1, 160, 100, 4, "Hola Mundo"); LOOP FRAME; END
END
En Brainfuck
++++++++++ [ Bucle para iniciar el vector >+++++++>++++++++++>+++>+<<<<- ] >++. imprime 'H' >+. imprime 'e' +++++++. 'l' . 'l' +++. 'o' >++. espacio <<+++++++++++++++. 'W' >. 'o' +++. 'r' ------. 'l' --------. 'd' >+. '!' >. nuevalínea
En C
#include <stdio.h> int main(void) { printf("¡Hola, mundo!\n"); return 0; }
En C++
#include <iostream> using namespace std; int main() { cout << "¡Hola, mundo!" << endl; }
En C++/CLI
Opción 1
int main() { System::Console::WriteLine("Hola, mundo!"); return 0; }
Opción 2
#include <conio.h> void main { cout<<"Hola mundo"; }
En C#
class MainClass { public static void Main() { System.Console.WriteLine("¡Hola, mundo!"); } }
En CLIPS
(printout t "Hola Mundo" crlf)
En Clipper
? "Hola Mundo!"
En COBOL
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. DISPLAY "Hola mundo". STOP RUN.
En ColdFusion
<cfset variable="Hola Mundo"> <cfoutput>#variable#</cfoutput>
En ensamblador de x86 para DOS
.model small .stack .data Cadena1 DB 'Hola Mundo.$' .code programa: mov ax, @data mov ds, ax mov dx, offset Cadena1 mov ah, 9 int 21h end programa
En ensamblador de x86 para GNU/Linux (nasm)
section .data
msg db "¡Hola Mundo!", 0Ah len equ $ - msg
section .text
global _start
_start:
mov eax, 04h mov ebx, 01h mov ecx, msg mov edx, len int 80h mov eax, 01h mov ebx, 00h int 80h
on 1:start: { echo ¡Hola Mundo! }
En DOS
En sistemas operativos de la familia DOS como MS-DOS o PC-DOS que usan como shell el intérprete de comandos COMMAND.COM o CMD.EXE (OS/2 y Windows de la rama NT) se pueden crear archivos de proceso por lotes con extensiones .BAT y .CMD respectivamente, con el siguiente contenido:
@echo ¡Hola, Mundo!
En Eiffel
class HOLA_MUNDO create make feature make is do io.put_string("%nHola mundo%N") end end -- HOLA_MUNDO
En Erlang
-module(hola). -export([hola_mundo/0]). hola_mundo() -> io:fwrite("Hola mundo!\n").
En Fortran
PROGRAM HOLA PRINT *, '¡Hola, mundo!' END
En Groovy
println "Hola Mundo!"
En Haskell
holaMundo :: IO () holaMundo = do putStrLn ("Hola mundo!")
En HQ9+
H
En HTML
<html> <head> <title>Hola Mundo</title> </head> <body> ¡Hola Mundo! </body> </html>
En INTERCAL
PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 PLEASE DO ,1 SUB #8 <- #22 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP
En Java
public class HolaMundo { public static void main(String[] args) { System.out.println("¡Hola, mundo!"); } }
En JavaScript
Opción 1
<script> alert('¡Hola, mundo!'); </script>
Opción 2
<script type="text/javascript"> alert("¡Hola mundo!"); </script>
En LISP
(format t "¡Hola, mundo!")
print "¡Hola, mundo!"
En Logo
escribe [¡Hola mundo!]
En Mathematica
Opción 1
hola mundo
Opción 2
Print["hola mundo"]
En MATLAB
disp('hola mundo'); % muestra el mensaje
En Object REXX
Opción 1: Con REXX clásico
Utilizando los métodos de REXX clásico:
say "Hola Mundo" call lineout , 'Hola, mundo.' call charout , 'Hola, mundo.'||eol /* eol definido previamente */
Opción 2: Utilizando objetos
Utilizando objetos:
.output~say('Hola, mundo.') .output~lineout('Hola, mundo.') .output~charout('Hola, mundo.'||eol) -- eol definido previamente
procedure tform1.button1click (sender:tobject); //Despues de crear y presionar el boton "button1" begin showmessage('HOLA MUNDO'); end; end.
En ObjectPAL
method holaMundo() msgInfo( "", "¡hola mundo!") endMethod
En NetREXX
Opción 1: Con REXX clásico
Utilizando la instrucción say que proviene de REXX clásico:
say "Hola Mundo"
Opción 2: Con clases y métodos Java
Utilizando clases y métodos Java:
System.out.println("¡Hola mundo!");
En Ocaml
print_string "Hola mundo";;
En OpenInventor
#Inventor V2.1 ascii Text3 { string "Hola mundo" }
En Pascal
Program HolaMundo; begin Write('¡Hola, mundo!'); end.
En Perl
#!/usr/bin/perl print "Hola, mundo.\n";
En PHP
<?php echo 'Hola Mundo!!' ?>
En PL/SQL
begin DBMS_OUTPUT.Put_Line( 'Hola Mundo' ); end;
En Python
print "Hola mundo"
En Prolog
write('Hola mundo').
En QBasic
PRINT "Hola mundo"
En RapidQ
ShowMessage("Hola, mundo!")
En REXX
say "Hola Mundo"
En Ruby
puts "Hola Mundo"
En SAPScript
MAIN P1 Hola Mundo /
En Scheme
(let ((HOLA MUNDO (lambda () (display "Hola, mundo") (newline)))) (hola-mundo))
o, simplemente
(display "Hola, mundo\n")
En Seed7
$ include "seed7_05.s7i"; const proc: main is func begin writeln("Hola Mundo"); end func;
En Smalltalk
Transcript show: '¡Hola, mundo!'
En SQL
Variante de Oracle:
SELECT 'HOLA MUNDO' FROM DUAL;
En Tcl
puts "Hola mundo"
[% GET "Hola mundo!"; %]
En Unlambda
```s``sii`ki ``s``s`ks ``s``s`ks``s`k`s`kr ``s`k`si``s`k`s`k `d````````````.H.o.l.a.,. .m.u.n.d.o.! k k `k``s``s`ksk`k.*
En X3
SubProg HOLAMUNDO() Infbox "Hola Mundo" End if
En xBase
? "Hola Mundo"
? "Hola Mundo"
En Modula-2
MODULE Hola; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hola Mundo"); WriteLn END Hola.
En Ook!
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
Enlaces externos
- www2.latech.edu/~acm/HelloWorld.shtml Más de 200 ejemplos de Hola Mundo en inglés.
- http://www.roesler-ac.de/wolfram/hello.htm Otra extensísima lista de ejemplos en inglés.
- http://fox.wikis.com/wc.dll?Wiki~HelloWorld Varias formas de crear un Hello World en Visual Foxpro (en inglés).
- http://www.wikilearning.com/hola_mundo-wkccp-10578-5.htm Original del ejemplo de ADA.