Hello world
Z Wikipedie, otevřené encyklopedie
Program "Hello, World!" je malý počítačový program, který prostě vypíše na obrazovku "Hello, world!". Používá se jako ukázka při výuce programování v určitém programovacím jazyce a mnoho studentů ho napíše jako svůj první prográmek.
Přestože pokusné prográmky existovaly dlouhou dobu od zavedení programovatelných počítačů, tradici v použití fráze "Hello, world!" jako hlášení zavedli Brian Kernighan a Dennis Ritchie v knize The C Programming Language, kde uvedli vzorový program vypisující "hello, world"
(tedy, žádné verzálky ani vykřičník, ty vstoupily ve známost později).
Sbírka programů "Hello, World!" slouží k porovnání jednotlivých jazyků. Například Java, C, C++, BASIC, Python, Perl a další.
V přeneseném významu označuje jednoduchý ukázkový program, který může někoho zaujmout. Třeba zobrazí trojúhelník pomocí knihovny OpenGL .
[editovat] Příklady v různých programovacích jazycích
[editovat] ABC
WRITE "Hello, World!"
[editovat] Ada
with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello;
[editovat] ALGOL 68
begin print(("Hello, World!", newline)) end
nebo úsporněji:
( print(("Hello, World!", newline)) )
[editovat] AmigaE
PROC main() WriteF('Hello, World!') ENDPROC
[editovat] APL
'Hello World'
[editovat] AWK
BEGIN { print "Hello, world!" }
[editovat] BASIC
Následující příklad funguje na kterékoli ANSI/ISO implementaci BASICu, stejně jako na implementacích zabudovaných do mikropočítačů ze 70. a 80. let.
10 PRINT "Hello, world!" 20 END
Novější implementace BASICu podporovaly strukturované programování a nevyžadovaly číslování řádků zdrojového kódu. Následující příklad běží na většině moderních implementací BASICu.
PRINT "Hello, world!" END
[editovat] Visual Basic
Pro výstup na ladící konsoli:
Debug.Print "Hello, world!"
Pro výstup do okna:
VBA.Interaction.MsgBox "Hello, world!"
[editovat] Visual Basic.NET
Class Hello Sub Main() System.Console.WriteLine("Hello world!") End Sub End Class
[editovat] bc
print "Hello, World!\n"
[editovat] BCPL
GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $)
[editovat] BLISS
%TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello World!')) END; END ELUDOM
[editovat] Brainfuck
++++++++++[->+++++++>++++++++++>+++++++++++>+++++++++++> ++++>+++>+++++++++>+++++++++++>++++++++++>+++<<<<<<<<<<] >++.>+.>--..>+.>++++.>++.>---.<<<.>>>>++++.<<<<<.>>>>>>. >+++.
[editovat] Casio fx-7950
"HELLO WORLD"↵
[editovat] C
#include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; }
[editovat] C#
using System; class HelloWorldApp { public static void Main() { Console.WriteLine("Hello, world!"); } }
[editovat] C++
#include <iostream> int main() { std::cout << "Hello, world!" << std::endl; }
[editovat] ColdFusion (CFM)
<cfoutput> Hello, world! </cfoutput>
[editovat] COMAL
PRINT "Hello, World!"
[editovat] CIL
.method public static void Main() cil managed { .entrypoint .maxstack 8 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret }
[editovat] Clean
module hello Start = "Hello, world"
[editovat] CLIST
PROC 0 WRITE Hello, World!
[editovat] Clipper
@1,1 say "Hello World!"
[editovat] COBOL
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN.
[editovat] Common Lisp
(format t "Hello world!~%")
or
(write-line "Hello World!")
[editovat] D
import std.stdio; void main() { writefln("Hello, world!"); }
[editovat] dc
[Hello, World!]p
[editovat] DCL batch
$ write sys$output "Hello, world!"
[editovat] Dylan
module: hello format-out("Hello, world!\n");
[editovat] ed a ex (rozšířený ed)
a hello world! . p
nebo takto:
echo -e 'a\nhello world!\n.\np'|ed echo -e 'a\nhello world!\n.\np'|ex
[editovat] Eiffel
class HELLO_WORLD creation make feature make is local io:BASIC_IO do !!io io.put_string("%N Hello, world!") end -- make end -- class HELLO_WORLD
[editovat] Erlang
-module(hello). -export([hello_world/0]). hello_world() -> io:fwrite("Hello, world!\n").
[editovat] Euphoria
puts(1, "Hello, world!")
[editovat] F#
print_string "Hello world"; print_newline()
[editovat] Factor
"Hello world" print
[editovat] Focus
-TYPE Hello World
[editovat] Forth
." Hello, world!" CR
[editovat] Fortran
PROGRAM HELLO PRINT *, 'Hello, world!' END
[editovat] Frink
println["Hello, world!"]
[editovat] Gambas
PUBLIC SUB Main() Print "Hello, world!" END
[editovat] Game Maker
Během vykreslování objektu:
draw_text(x,y,"Hello World")
Nebo jako normální text na obrazovku:
show_message("Hello World")
[editovat] Haskell
module Main (main) where main = putStr "Hello World\n"
nebo
main = putStr "Hello World\n"
[editovat] Heron
program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end
[editovat] HQ9+
H
[editovat] IDL
print,"Hello world!"
[editovat] Inform
[ Main; print "Hello, world!^"; ];
[editovat] Io
"Hello world!" print
nebo
write("Hello world!\n")
[editovat] Iptscrae
ON ENTER { "Hello, " "World!" & SAY }
[editovat] Java
public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); } }
[editovat] JavaScript
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title> Hello world </title> </head> <body> <script type="text/javascript"> document.write("Hello world!"); </script> </body> </html>
Kód je vložen do stránky HTML podle standardů W3C.
nebo jednoduše kódem, který přijímá většina prohlížečů:
<script> document.write("Hello world!"); </script>
[editovat] Kogut
WriteLine "Hello, world!"
[editovat] Logo
print [hello world!]
nebo
pr [Hello World!]
[editovat] Lua
print "Hello, world!"
[editovat] M (MUMPS)
W "Hello, world!"
[editovat] Macsyma, Maxima
print("Hello, world!")$
[editovat] MIDlet
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloWorld extends MIDlet implements CommandListener { private Command exitCommand; private TextBox tbox; public HelloWorld() { exitCommand = new Command("Exit", Command.EXIT, 1); tbox = new TextBox("Hello world MIDlet", "Hello World!", 25, 0); tbox.addCommand(exitCommand); tbox.setCommandListener(this); } protected void startApp() { Display.getDisplay(this).setCurrent(tbox); } protected void pauseApp() {} protected void destroyApp(boolean bool) {} public void commandAction(Command cmd, Displayable disp) { if (cmd == exitCommand) { destroyApp(false); notifyDestroyed(); } } }
[editovat] Maple
print("Hello, World!");
[editovat] Mathematica
Print["Hello World"]
[editovat] MATLAB
disp('Hello World')
[editovat] Max
max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello world!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop;
[editovat] Modula-2
MODULE Hello; FROM Terminal2 IMPORT WriteLn; WriteString; BEGIN WriteString("Hello, world!"); WriteLn; END Hello;
[editovat] MS-DOS batch
(Při použití standardního interpretu command.com. Znak @ je nepovinný a zabraňuje, aby systém opakoval příkaz předtím, než jej spustí. Ve verzích nižších než 3.0 musí být znak @ vynechán.)
@echo Hello, world!
[editovat] Programovací jazyk MUF
: main me @ "Hello, world!" notify ;
[editovat] Natural
WRITE "Hello, World!" END
[editovat] Ncurses
#include <ncurses.h> int main() { initscr(); printw("Hello, world!"); refresh(); getch(); endwin(); return 0; }
[editovat] Oberon
MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello World!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello.
[editovat] OCaml
print_endline "Hello world!"
[editovat] OPL
PROC hello: PRINT "Hello, World" ENDP
[editovat] OPS5
(object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) --> (write |Hello World!| (crlf)) )
[editovat] Pascal
Program Hello; begin WriteLn('Hello, world!'); end.
[editovat] Perl
print "Hello, world!\n";
[editovat] PHP
<?php echo "Hello, world!\n"; ?>
nebo
<?php="Hello World!\n"?>
[editovat] Pike
int main() { write("Hello, world!\n"); return 0; }
[editovat] PL/SQL
procedure print_hello_world as dbms_output.enable(1000000); dbms_output.put_line("Hello World!"); end print_hello_world;
[editovat] PL/I
Test: proc options(main) reorder; put skip edit('Hello, world!') (a); end Test;
[editovat] POP-11
'Hello world' =>
[editovat] POV-Ray
#include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello world!" 1, 0 pigment { White } }
[editovat] Processing
println("Hello world!");
[editovat] Prolog
write('Hello world'),nl.
[editovat] Python
print "Hello, world!"
[editovat] REXX, NetRexx a Object REXX
say "Hello, world!"
[editovat] Ruby
puts "Hello, world!"
[editovat] Sather
class HELLO_WORLD is main is #OUT+"Hello World\n"; end; end;
[editovat] Scala
object HelloWorld with Application { Console.println("Hello, world!"); }
[editovat] Scheme
(define hello-world (lambda () (display "Hello World") (newline))) (hello-world)
[editovat] sed
Následující příklad vyžaduje alespoň jeden řádek na vstupu:
sed -ne '1s/.*/Hello, world!/p'
Pro dosažení skutečně neinteraktivního chování je možné sed propojit s programem echo:
echo | sed -ne '1s/.*/Hello, world!/p'
[editovat] Seed7
$ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world!"); end func;
[editovat] Self
'Hello, World!' print.
[editovat] Simula
BEGIN OutText("Hello World!"); OutImage; END
[editovat] Smalltalk
Transcript show: 'Hello, world!'; cr
[editovat] SML
print "Hello, world!\n";
[editovat] SNOBOL
OUTPUT = "Hello, world!" END
[editovat] Span
class Hello { static public main: args { Console << "Hello World!\n"; } }
[editovat] SPITBOL
OUTPUT = "Hello, world!" END
[editovat] SQL
CREATE TABLE message (text char(15)); INSERT INTO message (text) VALUES ('Hello, world!'); SELECT text FROM message; DROP TABLE message;
nebo (např. na databázích Oracle)
SELECT 'Hello, world!' FROM dual;
nebo (např. MySQL nebo PostgreSQL)
SELECT 'Hello, world!';
[editovat] STARLET
RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!").
[editovat] Tcl/Tk
puts "Hello, world!"
[editovat] TI-59
000 Lbl A // podprogram spouštěný tlačítkem A 002 Op 00 // nulování tiskového registru 004 23 17 27 27 32 // kódy první pětice písmen 014 Op 01 // vložení do 1. tiskového registru 016 57 00 43 32 35 // kódy druhé pětice písmen 026 Op 02 // vložení do 2. tiskového registru 028 16 73 00 00 00 // kódy třetí pětice písmen 038 Op 02 // vložení do 3. tiskového registru 040 Op 05 // tisk 042 RTN // návrat z podprogramu
[editovat] Turing
put "Hello, world!"
[editovat] TSQL
Declare @Output varchar(16) Set @Output='Hello, world!' Select @Output
nebo jednodušeji:
Select 'Hello, world!' Print 'Hello, world!'
[editovat] UNIXový shell např. Bash
echo 'Hello, world!'
nebo
printf 'Hello, world!\n'
[editovat] Sekce
[editovat] Externí zdroje
- pěkná knihovnička programů "Hello, World!" (v angličtině)
- The Hello World Collection – sbírka programů „Hello, World!“ ve více jak 220 jazycích (v angličtině)