// Hello World in 1C:Enterprise built-in script language
Message("Hello,
World!");
Back to index
ABAP4
REPORT ZHB00001.
*Hello world
in ABAP/4 *
WRITE: 'Hello world'.
Back to
index
Actionscript-Flash5
// Hello World in Actionscript (up to Flash
5, IDE only)
trace ("Hello World");
Back to
index
Actionscript-FlashMX
// Hello World in Actionscript (Flash MX
onwards)
_root.createTextField("mytext",1,100,100,300,100);
mytext.multiline =
true;
mytext.wordWrap = true;
mytext.border = false;
myformat = new
TextFormat();
myformat.color = 0xff0000;
myformat.bullet =
false;
myformat.underline = true;
mytext.text = "Hello
World!";
mytext.setTextFormat(myformat);
Back to
index
Ada
-- Hello World in Ada
with TEXT_IO; use
TEXT_IO;
procedure Hello is
pragma MAIN;
begin
PUT ("Hello
World!");
end Hello;
Back to
index
Algol-60
'BEGIN'
'COMMENT' Hello World in Algol
60;
OUTPUT(4,'(''('Hello World!')',/')')
'END'
Back to
index
Algol-68
( # Hello World in Algol 68 # print(("Hello
World!",newline)))
Back to index
Amiga-E
-> Hello World in
Amiga-E
PROC main() IS WriteF('Hello World\n')
Back to
index
APL
Hello World for APL. "[]" and "<-" are a single character
in APL.
Comment character is Alt-comma.
[]<-'Hello
World!'
Back to index
AppleScript
-- "Hello World" in
AppleScript:
display dialog "Hello World"
Back to
index
ASP-JavaScript
Hello World for Microsoft ASP (in
JavaScript)
<%@ language="javascript"
%>
<html><body>
<%
Response.Write('Hello
World!');
%>
</body></html>
Back to
index
ASP-VBS
Hello World for Microsoft ASP (in
VBScript)
<%@ language="vbscript"
%>
<html><body>
<%
Response.write "Hello
World!"
%>
</body></html>
Back to
index
Assembler-6502
; Hello World for 6502 Assembler (C64)
ldy
#0
beq in
loop:
jsr $ffd2
iny
in:
lda hello,y
bne
loop
rts
hello: .tx "Hello World!"
.by 13,10,0
Back to
index
Assembler-68000-Amiga
; Hello World in 68000 Assembler for
dos.library (Amiga)
move.l #DOS
move.l 4.w,a6
jsr -$0198(a6)
;OldOpenLibrary
move.l d0,a6
beq.s .Out
move.l #HelloWorld,d1
A)
moveq #13,d2
jsr -$03AE(a6) ;WriteChars
jsr -$03B4 ;PutStr
move.l a6,a1
move.l
4.w,a6
jsr -$019E(a6) ;CloseLibrary
.Out rts
DOS dc.b
'dos.library',0
HelloWorld dc.b 'Hello World!',$A,0
Back to
index
Assembler-68000-AtariST
; Hello World in 68000 Assembler (Atari
ST)
move.l #helloworld,-(A7)
move #9,-(A7)
trap #1
addq.l
#6,A7
move #0,-(A7)
trap #1
helloworld:
dc.b "Hello
World!",$0d,$0a,0
Back to index
Assembler-68008
; Hello World
in 68008 Assembler (Sinclar QL)
move.l #0,a0
lea.l mess,a1
move.w
$d0,a2
jsr (a2)
rts
mess dc.w 12
dc.b 'Hello
World!',10
end
Back to index
Assembler-IBM-370
ITLE 'Hello
World for IBM Assembler/370 (VM/CMS)'
HELLO START
BALR 12,0
USING
*,12
*
WRTERM 'Hello World!'
*
SR 15,15
BR 14
*
END
HELLO
Back to index
Assembler-Intel
; Hello World for Intel
Assembler (MSDOS)
mov ax,cs
mov ds,ax
mov ah,9
mov dx, offset
Hello
int 21h
xor ax,ax
int 21h
Hello:
db "Hello
World!",13,10,"$"
Back to index
Assembler-PDP11
; Hello World
in Assembler for the DEC PDP-11 with the
; RSX-11M-PLUS operating
system
;
.title Hello
.ident /V0001A/
.mcall qiow$s,
exit$s
.psect $code,ro,i
start: qiow$s #5,#5,,,,<#str, #len,
#40>
exit$s
.psect $data,ro,d
str: .ascii / Hello
World!/
len=.-str
.end start
Back to
index
Assembler-Z80-Console
; This is a "Hello World" program for Z80
and TMS9918 / TMS9928 / TMS9929 /
; V9938 or V9958 VDP.
; That means that
this should work on SVI, MSX, Colecovision, Memotech,
; and many other Z80
based home computers or game consoles.
;
; Because we don't know what
system is used, we don't know where RAM
; is, so we can't use stack in this
program.
;
; This version of Hello World was written by Timo "NYYRIKKI"
Soilamaa
;
17.10.2001
;
;----------------------------------------------------------------------
;
Configure this part:
DATAP: EQU #98 ; VDP Data port #98 works on all MSX
models
; (TMS9918/TMS9929/V9938 or V9958)
; #80 works on SVI
; (for
other platforms you have to figure this out by your self)
CMDP: EQU #99 ;
VDP Command port #99 works on all MSX models
; (TMS9918/TMS9929/V9938 or
V9958)
; #81 works on SVI
; (for other platforms you have to figure this
out by your
self)
;-----------------------------------------------------------------------
;
Program starts here:
ORG 0 ; Z80 starts always from here when power is
turned on
DI ; We don't know, how interrupts works in this system, so we
disable them.
; Let's set VDP write address to #0000
XOR A
OUT
(CMDP),A
LD A,#40
OUT (CMDP),A
; Now let's clear first 16Kb of VDP
memory
LD B,0
LD HL,#3FFF
LD C,DATAP
CLEAR:
OUT ©,B
DEC
HL
LD A,H
OR L
NOP ; Let's wait 8 clock cycles just in case VDP is not
quick enough.
NOP
JR NZ,CLEAR
; Now it is time to set up VDP
registers:
;----------------------------------------
; Register 0 to
#0
;
; Set mode selection bit M3 (maybe also M4 & M5) to zero and
; disable external video & horizontal interrupt
LD C,CMDP
LD
E,#80
OUT ©,A
OUT ©,E
;----------------------------------------
; Register 1 to #50
;
; Select 40 column mode, enable screen and
disable vertical interrupt
LD A,#50
INC E
OUT ©,A
OUT
©,E
;----------------------------------------
; Register 2 to
#0
;
; Set pattern name table to #0000
XOR A
INC E
OUT
©,A
OUT ©,E
;----------------------------------------
; Register 3 is
ignored as 40 column mode does not need color table
;
INC
E
;----------------------------------------
; Register 4 to #1
; Set
pattern generator table to #800
INC A
INC E
OUT ©,A
OUT
©,E
;----------------------------------------
; Registers 5 (Sprite
attribute) & 6 (Sprite pattern) are ignored
; as 40 column mode does not
have sprites
INC E
INC E
;----------------------------------------
; Register 7 to #F0
; Set colors to white on black
LD A,#F0
INC
E
OUT ©,A
OUT ©,E
;----------------------------------------
;
Let's set VDP write address to #808 so, that we can write
; character set to
memory
; (No need to write SPACE it is clear char already)
LD A,8
OUT
©,A
LD A,#48
OUT ©,A
; Let's copy character set
LD
HL,CHARS
LD B, CHARS_END-CHARS
COPYCHARS:
LD A,(HL)
OUT
(DATAP),A
INC HL
NOP ; Let's wait 8 clock cycles just in case VDP is not
quick enough.
NOP
DJNZ COPYCHARS
; Let's set write address to start
of name table
XOR A
OUT ©,A
LD A,#40
OUT ©,A
; Let's put
characters to screen
LD HL,ORDER
LD B,ORDER_END-ORDER
COPYORDER:
LD
A,(HL)
OUT (DATAP),A
INC HL
JR OVERNMI
NOP
NOP
; Here
is address #66, that is entry for NMI
RETN ;Return from
NMI
OVERNMI:
DJNZ COPYORDER
; The end
HALT
;
Character set:
; --------------
ORDER:
DEFB
1,2,3,3,4,0,5,4,6,3,7
ORDER_END:
CHARS:
; H
DEFB
%10001000
DEFB %10001000
DEFB %10001000
DEFB %11111000
DEFB
%10001000
DEFB %10001000
DEFB %10001000
DEFB %00000000
; e
DEFB
%00000000
DEFB %00000000
DEFB %01110000
DEFB %10001000
DEFB
%11111000
DEFB %10000000
DEFB %01110000
DEFB %00000000
; l
DEFB
%01100000
DEFB %00100000
DEFB %00100000
DEFB %00100000
DEFB
%00100000
DEFB %00100000
DEFB %01110000
DEFB %00000000
; o
DEFB
%00000000
DEFB %00000000
DEFB %01110000
DEFB %10001000
DEFB
%10001000
DEFB %10001000
DEFB %01110000
DEFB %00000000
; W
DEFB
%10001000
DEFB %10001000
DEFB %10001000
DEFB %10101000
DEFB
%10101000
DEFB %11011000
DEFB %10001000
DEFB %00000000
;
r
DEFB %00000000
DEFB %00000000
DEFB %10110000
DEFB
%11001000
DEFB %10000000
DEFB %10000000
DEFB %10000000
DEFB
%00000000
; d
DEFB %00001000
DEFB %00001000
DEFB %01101000
DEFB
%10011000
DEFB %10001000
DEFB %10011000
DEFB %01101000
DEFB
%00000000
chars_end:
Back to index
Assembler-ZX81
; Hello
World in Assembler for the ZX81 (Zilog Z80)
CALL SPRINT
DEFM HELLO
WORLD.
DEFB FF
RET
SPRINT POP HL
LD A,(HL)
INC HL
PUSH
HL
CP FF
RET Z
CALL PRINT
JR SPRINT
Back to
index
AviSynth
Hello World for AviSynth Video Editor.
Requires AVI
and WAV file.
video =
AVISource("someoneSayingHelloWorld.avi")
sound_track =
WAVSource("someoneSayingHelloWorld.wav")
AudioDub(video,
sound_track)
subtitle("Hello World!")
Back to index
awk
#
Hello World in awk
BEGIN {
print "Hello World!"
exit
}
Back
to index
Axel
Hello World in AXEL (lip-synched speech)
... too
large for this page, can be found here:
http://medieskolan.avc.edu.stockholm.se/axel/index.htmBack
to index
B
/* Hello World in B */
main() {
extern a, b,
c;
putchar (a); putchar (

; putchar ©; putchar ('!*n');
}
a 'hell' ;
b
'o, w' ;
c 'orld' ;
Back to index
BAL
Hello World in IBM
mainframe Basic Assembler Language (BAL)
HELLO CSECT
STM
R14,R12,12(R13)
LR R12,R15
USING HELLO,R12
LA R10,SAVEAREA
ST
R13,4(R10)
ST R10,8(R13)
LR R13,R10
*
WTO 'HELLO
WORLD',ROUTCDE=1
*
L R13,4(R13)
LM R14,R12,12(R13)
SR R15,R15
BCR
B'1111',R14
*
SAVEAREA DS 18F
LTORG
R0 EQU 0
R1 EQU 1
R2 EQU
2
R3 EQU 3
R4 EQU 4
R5 EQU 5
R6 EQU 6
R7 EQU 7
R8 EQU 8
R9
EQU 9
R10 EQU 10
R11 EQU 11
R12 EQU 12
R13 EQU 13
R14 EQU
14
R15 EQU 15
END HELLO
Back to index
BASIC
10 REM Hello
World in BASIC
20 PRINT "Hello World!"
Back to
index
bc
#!/usr/bin/bc -q
# Hello World for the Unix "bc"
calculator
print "Hello World!\n"
Back to index
BCPL
//
Hello world in BCLP
GET "libhdr"
LET start() = VALOF
$(
writes("Hello world*N")
RESULTIS 0
$)
Back to
index
Beta
{ *** Hello World in BETA ***}
(#
do
'Hello
World!'->putLine
#)
Back to index
BrainFxxx
Hello World
in
Brainfuck.
++++++++++[->+++++++>++++++++++>+++++++++++>
+++++++++++>++++>+++>+++++++++>+++++++++++>+
+++++++++>+++<<<<<<<<<<]>++.>+.>--..>+.>++++
.>++.>---.<<<.>>>>++++.<<<<<.>>>>>>.>+++.
Back
to index
BS2000
/BEGIN-PROCEDURE LOGGING=N
/REMARK "HELLO WORLD" IN
BS2000 (SDF)
/ASSIGN-SYSDTA TO-FILE=*SYSCMD
/WRITE-TEXT 'HELLO
WORLD!'
/SET-JOB-STEP
/ASSIGN-SYSDTA
TO-FILE=*PRIMARY
/END-PROCEDURE
Back to index
C++
// Hello
World in C++
#include <iostream.h>
main()
{
cout
<< "Hello World!" << endl;
return 0;
}
Back to
index
C++-Epoc
// Hello World in C++, Epoc style (for Symbian
OS)
#include <eikapp.h>
#include <eikdoc.h>
#include
<eikappui.h>
class CHelloWorldAppUi;
class
CEikApplication;
class CHelloWorldAppView;
class
CHelloWorldApplication : public CEikApplication
{
public:
TUid
AppDllUid() const;
protected:
CApaDocument*
CreateDocumentL();
};
class CHelloWorldDocument : public
CEikDocument
{
public:
static CHelloWorldDocument*
NewL(CEikApplication& aApp);
static CHelloWorldDocument*
NewLC(CEikApplication&
aApp);
~CHelloWorldDocument(){};
public:
CEikAppUi*
CreateAppUiL();
private:
void ConstructL()
{};
CHelloWorldDocument(CEikApplication& aApp){};
};
class
CHelloWorldAppUi : public CEikAppUi
{
public:
void
ConstructL();
CHelloWorldAppUi(){};
~CHelloWorldAppUi(){};
};
static
const TUid KUidHelloWorldApp = {0x10005B91};
GLDEF_C TInt
E32Dll(TDllReason )
{
return KErrNone;
}
EXPORT_C
CApaApplication* NewApplication()
{
return (new
CHelloWorldApplication);
}
CApaDocument*
CHelloWorldApplication::CreateDocumentL()
{
CApaDocument* document =
CHelloWorldDocument::NewL(*this);
return document;
}
TUid
CHelloWorldApplication::AppDllUid() const
{
return
KUidHelloWorldApp;
}
CHelloWorldDocument*
CHelloWorldDocument::NewL(CEikApplication&
aApp)
{
CHelloWorldDocument* self =
NewLC(aApp);
CleanupStack::Pop(self);
return
self;
}
CHelloWorldDocument*
CHelloWorldDocument::NewLC(CEikApplication&
aApp)
{
CHelloWorldDocument* self = new (ELeave)
CHelloWorldDocument(aApp);
CleanupStack::PushL(self);
self->ConstructL();
return
self;
}
CEikAppUi*
CHelloWorldDocument::CreateAppUiL()
{
CEikAppUi* appUi = new (ELeave)
CHelloWorldAppUi;
return appUi;
}
void
CHelloWorldAppUi::ConstructL()
{
BaseConstructL();
_LIT(message,"Hello!");
CAknInformationNote*
informationNote = new (ELeave)
CAknInformationNote;
informationNote->ExecuteLD(message);
}
Back
to index
C++-ISO
// Hello World in ISO C++
#include
<iostream>
int main()
{
std::cout << "Hello World!"
<< std::endl;
}
Back to index
C++-MFC
// Hello World
in C++ for Microsoft Foundation Classes
// (Microsoft Visual
C++).
#include <afxwin.h>
class CHello : public
CFrameWnd
{
public:
CHello()
{
Create(NULL,_T("Hello
World!"),WS_OVERLAPPEDWINDOW,rectDefault);
}
};
class CHelloApp :
public CWinApp
{
public:
virtual BOOL InitInstance();
};
BOOL
CHelloApp::InitInstance()
{
m_pMainWnd = new
CHello();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return
TRUE;
}
CHelloApp theApp;
Back to index
C++-Qt
//
Hello World in C++ for the Qt framework
#include
<qapplication.h>
#include <qlabel.h>
int main(int argc,
char *argv[])
{
QApplication a(argc, argv);
QLabel l("Hello World!",
0);
l.setCaption("Test");
l.setAlignment(Qt::AlignCenter);
l.resize(300,
200);
a.setMainWidget(&l);
l.show();
return(a.exec());
}
Back
to index
C-Ansi
/* Hello World in C, Ansi-style */
#include
<stdio.h>
#include <stdlib.h>
int
main(void)
{
puts("Hello World!");
return
EXIT_SUCCESS;
}
Back to index
C-Curses
/* Hello World in C
for Curses */
#include
<curses.h>
main()
{
initscr();
addstr("Hello
World!\n");
refresh();
endwin();
return 0;
}
Back to
index
C-GEM
/* Hello World for C with GEM */
#include
<aes.h>
main()
{
appl_init();
form_alert(1,"[0][Hello
World!][Ok]");
appl_exit();
return 0;
}
Back to
index
C-Intuition
/* Hello World in C for Intution (Amiga GUI)
*/
#include <intuition/intuition.h>
struct IntuitionBase
*IntuitionBase = NULL;
struct IntuiText hello_text =
{-1,-1,JAM1,0,0,NULL,"Hello World!",NULL };
struct IntuiText ok_text =
{-1,-1,JAM1,0,0,NULL,"Ok",NULL };
void main(void)
{
IntuitionBase =
(struct IntuitionBase *)
OpenLibrary("intuition.library",
0);
AutoRequest(NULL, &hello_text, NULL, &ok_text, NULL, NULL, 100,
50);
CloseLibrary(IntuitionBase);
}
Back to
index
C-K+R
/* Hello World in C, K&R-style
*/
main()
{
puts("Hello World!");
return 0;
}
Back to
index
C-Objective
/* Hello World in Objective-C.
** Since the
standard implementation is identical to K&R C,
** a version that says
hello to a set of people passed on
** the command line is shown
here.
*/
#include <stdio.h>
#include <objpak.h>
int
main(int argc,char **argv)
{
id set = [Set new];
argv++;while (--argc)
[set add:[String str:*argv++]];
[set do:{ :each | printf("hello, %s!\n",[each
str]); }];
return 0;
}
Back to index
C-PresManager
/*
Hello World for C with PresentationManager / OS/2 2.11 */
#define
INCL_WIN
#include <os2.h>
int main( void )
{
HMQ
hmq;
hmq = WinCreateMsgQueue( 0, 0 );
WinMessageBox( HWND_DESKTOP,
HWND_DESKTOP, (PSZ)"Hello World!",
(PSZ)"", 0, MB_OK
);
WinDestroyMsgQueue( hmq );
return 0;
}
Back to
index
C-Sharp
// Hello World in Microsoft C# ("C-Sharp").
using
System;
class HelloWorld
{
public static int Main(String[]
args)
{
Console.WriteLine("Hello, World!");
return
0;
}
}
Back to index
C-Windows
/* Hello world in C for
MS-Windows */
#include <windows.h>
int PASCAL
WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance, LPSTR CmdLine, int
Show)
{
MessageBox(GetActiveWindow(), "Hello World!", "Hello Windows
World", MB_OK);
return 0;
}
Back to index
C-X11-Athena
/*
Hello World in C with X11 using Athena widgets */
#include
<X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include
<X11/Xaw/Label.h>
main(int argc,char **argv)
{
XtAppContext
app_context;
Widget toplevel,hello;
toplevel =
XtVaAppInitialize(&app_context,"XHello",NULL,0,
&argc,argv,NULL,NULL);
hello
= XtVaCreateManagedWidget("Hello
World!",labelWidgetClass,
toplevel,(void*)0);
XtRealizeWidget(toplevel);
XtAppMainLoop(app_context);
return
0;
}
Back to index
CAML-Light
(* Hello World in CAML Light
*)
let hello =
print_string "Hello World!";
;;
Back to
index
Clean
// Hello World in Clean
module hello
Start
:: String
Start = "Hello World!\n"
Back to index
Clipper
//
Hello World in Clipper
@ "Hello World"
Back to
index
Cobol
* Hello World in
Cobol
*****************************
IDENTIFICATION
DIVISION.
PROGRAM-ID. HELLO.
ENVIRONMENT DIVISION.
DATA
DIVISION.
PROCEDURE DIVISION.
MAIN SECTION.
DISPLAY "Hello
World!"
STOP RUN.
****************************
Back to
index
CommandScript
#Hello World in Command Script 3.1
#Meta.Name:
"Hello World"
#Block(Main).Start
echo "Hello
World!"
#Block(Main).End
Back to index
D
// Hello World in
D
void main()
{
printf("Hello World!\n");
}
Back to
index
dBase
* Hello World in dBase IV
? "Hello
World!"
Back to index
dc
#!/usr/bin/dc
# Hello world! in dc
(Unix desk calculator)
[Hello world!]p
Back to
index
Delphi
// Hello World in Delphi
Program
Hello_World;
{$APPTYPE CONSOLE}
Begin
WriteLn('Hello
World');
End.
Back to index
Dylan
module:
hello-world
author: Homer
copyright: © 1994 Homer
version:
1.0
// Hello World in DYLAN
define method main (#rest
args)
princ("Hello world!");
end;
main();
Back to
index
DynaMorph
<<!! Hello World in DynaMorph
>>
<#setString foo {Hello
World!}#>
<html>
<head>
<title>DynaMorph</title>
</head>
<body>
<#getString
foo#>
</body>
</html>
Back to
index
Eiffel
indexing "Hello World in Eiffel"
class
HELLO
creation
run
feature
run is
local
io :
BASIC_IO;
do
!!io;
io.put_string("Hello
World!");
io.put_newline;
end; -- run
end; -- class
HELLO
Back to index
Elan
(* Hello World in ELAN
*)
putline ("Hello World!");
Back to index
Erlang
%%
Hello World in
Erlang
-module(hello).
-export(hello/0).
hello()
->
io.format("Hello World!\n").
Back to index
Euphoria
--
Hello World in Euphoria
procedure Hello()
print ("Hello
World!")
end procedure
Back to index
Focal
1.01 COMMENT
HELLO WORLD IN FOCAL
1.02 TYPE "HELLO WORLD", !
1.03 QUIT
Back to
index
Forth
: Hello World in Forth
." Hello World!"
cr
;
Back to index
Fortran
C Hello World in
Fortran
PROGRAM HELLO
WRITE (*,100)
STOP
100 FORMAT (' Hello
World! ' /)
END
Back to index
Fortran77
C Hello World in
Fortran 77
PROGRAM HELLO
PRINT*, 'Hello World!'
END
Back to
index
FortranIV
PROGRAM HELLO
c
C Hello World in Fortran IV
(supposedly for a TR440)
c
WRITE (6,'('' Hello
World!'')')
END
Back to index
Frink
// Hello World in
Frink
println["Hello World!"]
Back to index
Gentee
//
Hello World in Gentee
func hello <main>
{
print( "Hello,
World!" )
getch()
}
Back to index
Gofer
-- Hello World in
Gofer
-- Simple version
helloWorld:: String
helloWorld = "Hello
World!\n"
-- Hello World in Gofer
-- Dialog
version
helloWorld :: Dialogue
helloWorld resps = [AppendChan stdout
"Hello world!"]
Back to index
GynkoSoft
; Hello World in
GynkoSoft
; Simple version
0.00 Protocol "Hello, World!"
;
Hello World in GynkoSoft
; Dialog box output
0.00 Message "Hello,
World!"
Back to index
Haskell
-- Hello World in
Haskell
module Hello where
hello::String
hello = "Hello
World!"
Back to index
HDX
# Hello World as bdehaldia.exe
external command
proc hdx_info {} {
set ::Titel "&Hello
World"
set ::Menu GMA
}
proc hdx_run {} {
tk_messageBox -type ok
-message "Hello World!"
destroy .
}
Back to
index
HP-41C
Hello World for the HP 41C. No comment character
exists.
01 LBL "HELLO"
02 "HELLO WORLD"
03 AVIEW
Back to
index
HP-48
<<
@ Hello World for the HP-48
@ << and
>> are one char each
"HELLO WORLD"
>>
Back to
index
HTML
<HTML>
<!-- Hello World in HTML
-->
<HEAD>
<TITLE>Hello
World!</TITLE>
</HEAD>
<BODY>
Hello
World!
</BODY>
</HTML>
Back to
index
Human
Hello World in human languages.
Czech (1) Ahoj
Svete!
Bengali Shagatam Prithivi!
Brazilian Portuguese Oi mundo!
Dutch
Hallo, wereld!
English Hello World!
French Salut le Monde!
Frisian
Hallo, wrвld!
German Hallo Welt!
Hindi Shwagata Prithvi!
Italian Ciao
Mondo!
Norwegian Hallo Verden!
Portuguese Ola mundo!
Russian
Slovak
Ahoj, svet!
Spanish (2) !Hola mundo!
Swedish Hejsan värld!
Turkish
Merhaba Dünya!
Ukrainian
(1) Upside-down "^" on the first "e"
(2)
First "!" upside-down
Back to index
IBM-Exec
Hello World for
IBM EXEC (under VM/CMS)
&CONTROL
*
&TYPE Hello
World!
*
&EXIT 0
Back to index
IBM-Exec2
Hello World
for IBM EXEC2 (under VM/CMS)
&TRACE OFF
*
&TYPE Hello
World!
*
&EXIT 0
Back to index
ici
# Hello World in
ici (http://www.zeta.org.au/~atrn/ici/)
printf("Hello World!\n");
Back
to index
Icon
# Hello world in Icon
(http://www.cs.arizona.edu/icon/)
procedure main()
write("Hello
world")
end
Back to index
Inform
! "Hello world" in
Inform
[ Main;
print "Hello world^";
];
Back to
index
Informix-4GL
# Hello World in Informix
4GL
MAIN
DISPLAY "Hello World"
END MAIN
Back to
index
InstallScript
// Hello World in InstallScript
// (Scripting
language of InstallShield, a Windows install
generator)
program
MessageBox("Hello
World!",INFORMATION);
endprogram
Back to
index
Intercal
HELLO WORLD IN INTERCAL NOT FORTRAN
HELLO
WORLD
Back to index
Java
// Hello World in Java
class
HelloWorld {
static public void main( String args[] )
{
System.out.println( "Hello World!" );
}
}
Back to
index
Java-Mobile
// Hello World on a mobile Java
device
package helloworld;
import
javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public
class HelloWorld extends MIDlet {
public HelloWorld()
{
Form form =
new Form("Hello World");
form.append("Hello
world!");
Display.getDisplay(this).setCurrent(form);
}
protected
void pauseApp() { }
protected void startApp()
throws
javax.microedition.midlet.MIDletStateChangeException { }
protected
void destroyApp(boolean parm1)
throws
javax.microedition.midlet.MIDletStateChangeException {
}
}
Back to index
Java-Server-Pages
<!-- Hello World for
Java Server Pages -->
<%@ page language='java'
%>
<%="Hello World!" %>
Back to
index
Java-Servlet
import javax.servlet.*;
import
javax.servlet.http.*;
import java.io.*;
//
// Hello World Java
Servlet
//
public class HelloWorld extends HttpServlet {
public void
service(HttpServletRequest request,
HttpServletResponse response)
throws
IOException {
response.setContentType("text/html");
PrintWriter out =
response.getWriter();
out.println("<html><body>");
out.println("Hello
World!");
out.println("</body></html>");
}
}
Back to
index
Java-Swing
// Hello World in Java using Swing GUI
class
HelloWorldSwing {
static public void main(String args[])
{
javax.swing.JOptionPane.showMessageDialog(null,"Hello
world!");
}
}
Back to
index
JavaScript
<html>
<body>
<script
language="JavaScript" type="text/javascript">
// Hello World in
JavaScript
document.write('Hello
World');
</script>
</body>
</html>
Back to
index
JCL
//HERIB JOB ,'HERIBERT OTTEN',PRTY=12
//* Hello World for
MVS
//HALLO EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT2 DD
SYSOUT=T
//SYSUT1 DD *
Hello World!
/*
//
Back to
index
JudoScript
// Hello World in JudoScript (a Java scripting
layer)
. "Hello World";
Back to index
LabVIEW
Back to
index
Limbo
Hello World in Limbo.
Limbo is the programming language
of the Inferno OS
(from Lucent Bell Labs).
implement
Cmd;
include "sys.m";
include "draw.m";
Cmd : module {
init
: fn (ctxt : ref Draw->Context, args : list of string);
};
init(nil
: ref Draw->Context, nil : list of string)
{
sys := load Sys
Sys->PATH;
sys->print("Hello World\n");
}
Back to
index
Lingo
Hello World in Lingo (Macromedia Director)
on
startmovie
alert "Hello World"
end
Back to
index
Lisp
;;; Hello World in Common Lisp
(defun helloworld
()
(print "Hello World!")
)
Back to index
Logo
; Hello
World in Logo
DRUCKEZEILE [Hello World!]
Back to
index
Logo-graphical
; Hello World in LOGO, graphical
output.
go 20 , left 180,
go 40 , left 180,
go 20 , right 90,
go
20 , left 90 ,
go 20 , left 180,
go 40 , left 90 ,
go 20 , left 90
,
go 20 , right 90 ,
go 20 , right 90 ,
go 10 , right 90 ,
go 20 ,
left 90 ,
go 10 , left 90 ,
go 30 , left 90 ,
go 40 , left 180,
go
40 , left 90 ,
go 20 , left 90 ,
go 40 , left 180,
go 40 , left 90
,
go 40 , left 90 ,
go 20 , left 90 ,
go 20 , left 90 ,
go 20 , left
90 ,
go 60 , left 90 ,
go 40 , left 180,
go 40 , left 90 ,
go 20 ,
left 90 ,
go 20 , left 180,
go 20 , left 90 ,
go 20 , left 90 ,
go
40 , left 180,
go 40 , left 90 ,
go 40 , left 90 ,
go 20 , left 90
,
go 20 , left 90 ,
go 20 , left 90 ,
go 40 , left 90 ,
go 20 ,
right 90,
go 20 , right 90,
go 5 , left 90 ,
go 5 , left 90 ,
go 25
, left 180,
go 40 , left 90 ,
go 40 , left 90 ,
go 20 , left 90 ,
go
20 , left 90 ,
go 20 , left 90 ,
go 20 , left 90 ,
go 40 , left
180,
go 40 ,
Back to index
lua
# Hello World in
lua
print "Hello world"
Back to index
MACRO10
TITLE
HELLO WORLD
; HELLO WORLD IN MACRO 10 FOR TOPS-10
ENTRY OUTPUT
SEARCH
UUOSYM
LAB: ASCIZ /HELLO WORLD
/
OUTPUT: OUTSTR LAB ; OUTPUT
MESSAGE
MONRT. ; RETURN TO MONITOR
END OUTPUT
Back to
index
Mathematica
(* Hello World in Mathematica *)
Hello[] :=
Print["Hello, World!"]
Back to index
mIRC
; Hello World! for
mIRC
echo Hello World!
Back to index
Modula-2
(* Hello
World in Modula-2 *)
MODULE HelloWorld;
FROM InOut IMPORT
WriteString,WriteLn;
BEGIN
WriteString("Hello World!");
WriteLn;
END
HelloWorld.
Back to index
MSDOS
@ECHO OFF
REM Hello World
for DOS batch
ECHO Hello World!
Back to
index
MSIL
//Hello World in MSIL (.NET assembler)
.assembly
helloworld {}
.class helloworld
{
.method static void Main() cil
managed
{
.entrypoint
ldstr "Hello World!"
call void
[mscorlib]System.Console::WriteLine(string)
ret
}
}
Back to
index
Mumps
; Hello World in Mumps-M
w !,"Hello World"
Back
to index
Natural
* Hello World in Natural (by Software AG)
FORMAT
AD=M
DISPLAY 'Hello World!'
END
Back to
index
NewtonScript
// Hello World in NewtonScript
baseview
:=
{viewBounds: {left: -3, top: 71, right: 138, bottom: 137},
viewFlags:
581,
declareSelf: 'base,
_proto: protoFloatNGo,
debug:
"baseview"
};
textview := * child of baseview *
{text: "Hello
World!",
viewBounds: {left: 33, top: 24, right: 113, bottom:
46},
viewFlags: 579,
_proto: protoStaticText,
debug:
"textview"
};
Back to index
Oberon.oberon
MODULE
HelloWorld;
(* Hello World in Oberon for the Oberon System
*)
IMPORT Oberon, Texts;
VAR
W: Texts.Writer;
PROCEDURE
Do*;
BEGIN
Texts.WriteString(W,"Hello
World!");
Texts.WriteLn(W);
Texts.Append(Oberon.Log,W.buf)
END
Do;
BEGIN Texts.OpenWriter(W)
END HelloWorld.
Back to
index
Oberon.std
(* Hello World in Oberon for standard operating
systems *)
MODULE HelloWorld;
IMPORT
Out;
BEGIN
Out.String("Hello World!");
Out.Ln;
END
HelloWorld;
Back to index
OCaml
(* Hello World in OCaml
*)
print_string "Hello World!\n";;
Back to
index
Occam
PROGRAM Hello
-- Hello world in Occam
#USE
ioconv
SEQ
write.full.string(screen,"Hello World!")
Back to
index
Octave
#Hello World in Octave
(http://www.octave.org/)
printf("Hello World\n");
Back to
index
OpenVMS
$! Hello World in OpenVMS DCL
$ write sys$output
"Hello World"
Back to index
OPL.dialog
REM Hello World for OPL
(Psion Organizer 3a)
REM More complex version with menues and dialog
boxes
PROC HELLO:
LOCAL M%
DO
REM Display menu
bar
mINIT
mCARD "Sprache","Deutsch",%d,"English",%e
mCARD
"Extras","Beenden",%x,"Info",%i
M%=MENU
REM process choosen function
IF
M%=%d
REM Display german dialog box
REM with an ENTER button to
continue
dBOX:(" ","Hallo Welt"," ","weiter",13)
ELSEIF M%=%e
REM
Display english dialog box
REM with an ENTER button to continue
dBOX:("
","Hello World"," ","continue",13)
ELSEIF M%=%i
REM Display copyright
information ;-)
dBOX:("Info","© Klaus Mьller 0196","FrankfurtMain,
Germany","",13)
ENDIF
UNTIL M%=%x
ENDP
PROC
dBOX:(Z1$,Z2$,Z3$,Z4$,BUTTON%)
dINIT Z1$
dTEXT ""," ",0
dTEXT
"",Z2$",$102
dTEXT "",Z3$,$202
dBUTTONS
Z4$,BUTTON%
DIALOG
ENDP
Back to index
OPL.simple
REM
Hello World for OPL (Psion Organizer 3a)
REM Simple version
PROC
HELLO:
PRINT "Hello World!"
GET
ENDP
Back to
index
OZ
Hello World in OZ, shell version:
Type the
text
{Browse 'Hello World!'}
to a buffer in OZ mode and feed it for
execution (e.g., by typing the
key M-l or by using the OZ menu). A window
titled Oz Browser will pop
up showing the atom 'Hello World!'.
Back to
index
Pascal
{Hello World in Pascal}
program
HelloWorld(output);
begin
WriteLn('Hello World!');
end.
Back to
index
Pascal-Windows
{ Hello World in Borland Pascal 7 for
MS-Windows}
PROGRAM
HelloWorld;
USES
WinCRT;
BEGIN
InitWinCRT;
WriteLn('Hello
World!');
ReadLn;
DoneWinCRT;
END.
Back to
index
Perl
# Hello world in perl
print "Hello
World!\n";
Back to index
PHP
<?php
// Hello World in
PHP
echo 'Hello World!';
?>
Back to index
Pike
//
Hello world in Pike (pike.roxen.com)
int main(){
write("Hello
World!\n");
}
Back to index
PL-SQL
-- Hello World in Oracle
PL/SQL
begin
dbms_output.put_line('Hello
World');
end;
/
Back to index
PL1
/* Hello World in PL1
*/
Hello: procedure options(main)
put list('Hello World!');
put
skip;
end Hello
Back to index
Pocket
Hello World for
standard pocket calculators (7-segment display).
Type in and turn calculator
upside down.
07734
Back to index
POP-11
;;; Hello World
in POP-11
: vars outputtext;
: "Hello World" -> outputtext;
:
outputtext =>
** Hello World
Back to
index
Postscript
% Hello World in
Postscript
%!PS
/Palatino-Roman findfont
100
scalefont
setfont
100 100 moveto
(Hello World!)
show
showpage
Back to index
POV-Ray
// Hello World for the
Persistence of Vision Raytracer
#include
"skies.inc"
camera{location <0,1,-5> look_at
y}
light_source{<2,4,-7>,2}
sky_sphere{S_Cloud1}
plane{y 0
pigment{checker rgb 1,0} finish{reflection .5}}
text{ttf "timrom.ttf" "Hello
World!" .3,0
pigment {agate scale .2} translate -2.5*x
}
Back to
index
PowerScript
// Hello World in
PowerScript
MessageBox("","Hello World!")
Back to
index
Profan
' Hello World in Profan
(http://www.profan.de/)
cls
print "Hello
World!"
waitkey
Back to index
Progress
/* Hello World in
Progress */
message "Hello World" view-as alert-box.
Back to
index
Prolog
% Hello World in Prolog
hello :- display('Hello
World!') , nl .
Back to index
PureBasic-Console
; Hello World
in PureBasic (console program)
OpenConsole()
ConsoleTitle ("Hello
World!")
PrintN ("Hello World!")
CloseConsole()
Back to
index
PureBasic-Messagebox
; Hello World in PureBasic (message
box)
MessageRequester("Hello World Messagebox","Hello
World!")
Back to index
PureBasic-Window
; Hello World in
PureBasic (Window)
If OpenWindow(0, 216, 0, 268, 133,
#PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Hello
World Window")
If CreateGadgetList(WindowID())
TextGadget(1, 100, 60, 60,
20, "Hello World!")
EndIf
EndIf
Repeat ; Message Loop
Until
WaitWindowEvent() = #PB_EventCloseWindow
Back to index
Python
#
Hello World in Python
print "Hello World"
Back to
index
QuickBASIC
REM Hello World in QuickBASIC
PRINT "Hello
World!"
END
Back to index
ratfor
#
hello.world.in.ratfor
print *, 'hello, world'
end
Back to
index
REALbasic
' Hello World in REALbasic
(http://www.realsoftware.com/)
msgBox "Hello World!"
Back to
index
Rebol-view
Hello World in Rebol-view.
rebol[]
view
layout[
text "Hello World!"
]
Back to index
Redcode
;
Hello World in Redcode
; Should work with any MARS >= ICWS-86
; (with
128x64 gfx core support, of course!)
;
Start MOV 0,2455
MOV
0,2458
MOV 0,2459
MOV 0,2459
MOV 0,2459
MOV 0,2459
MOV
0,2459
MOV 0,2460
MOV 0,2465
MOV 0,2471
MOV 0,2471
MOV
0,2471
MOV 0,2479
MOV 0,2482
MOV 0,2484
MOV 0,2484
MOV
0,2484
MOV 0,2486
MOV 0,2486
MOV 0,2486
MOV 0,2486
MOV
0,2488
MOV 0,2493
MOV 0,2493
MOV 0,2493
MOV 0,2493
MOV
0,2497
MOV 0,2556
MOV 0,2559
MOV 0,2560
MOV 0,2565
MOV
0,2570
MOV 0,2575
MOV 0,2578
MOV 0,2585
MOV 0,2588
MOV
0,2589
MOV 0,2592
MOV 0,2593
MOV 0,2596
MOV 0,2597
MOV
0,2603
MOV 0,2605
MOV 0,2608
MOV 0,2667
MOV 0,2670
MOV
0,2671
MOV 0,2676
MOV 0,2681
MOV 0,2686
MOV 0,2689
MOV
0,2696
MOV 0,2699
MOV 0,2700
MOV 0,2703
MOV 0,2704
MOV
0,2707
MOV 0,2708
MOV 0,2714
MOV 0,2716
MOV 0,2719
MOV
0,2778
MOV 0,2778
MOV 0,2778
MOV 0,2778
MOV 0,2778
MOV
0,2779
MOV 0,2779
MOV 0,2779
MOV 0,2782
MOV 0,2787
MOV
0,2792
MOV 0,2795
MOV 0,2802
MOV 0,2805
MOV 0,2806
MOV
0,2809
MOV 0,2810
MOV 0,2810
MOV 0,2810
MOV 0,2810
MOV
0,2812
MOV 0,2818
MOV 0,2820
MOV 0,2823
MOV 0,2882
MOV
0,2885
MOV 0,2886
MOV 0,2891
MOV 0,2896
MOV 0,2901
MOV
0,2904
MOV 0,2911
MOV 0,2912
MOV 0,2913
MOV 0,2914
MOV
0,2917
MOV 0,2918
MOV 0,2919
MOV 0,2922
MOV 0,2928
MOV
0,2930
MOV 0,2933
MOV 0,2992
MOV 0,2995
MOV 0,2996
MOV
0,3001
MOV 0,3006
MOV 0,3011
MOV 0,3014
MOV 0,3021
MOV
0,3022
MOV 0,3023
MOV 0,3024
MOV 0,3027
MOV 0,3028
MOV
0,3030
MOV 0,3032
MOV 0,3038
MOV 0,3040
MOV 0,3103
MOV
0,3106
MOV 0,3107
MOV 0,3107
MOV 0,3107
MOV 0,3107
MOV
0,3107
MOV 0,3108
MOV 0,3108
MOV 0,3108
MOV 0,3108
MOV
0,3108
MOV 0,3109
MOV 0,3109
MOV 0,3109
MOV 0,3109
MOV
0,3109
MOV 0,3111
MOV 0,3111
MOV 0,3111
MOV 0,3120
MOV
0,3121
MOV 0,3124
MOV 0,3124
MOV 0,3124
MOV 0,3126
MOV
0,3129
MOV 0,3130
MOV 0,3130
MOV 0,3130
MOV 0,3130
MOV
0,3130
MOV 0,3131
MOV 0,3131
MOV 0,3131
MOV 0,3131
MOV
0,3135
JMP 0
Back to index
Rexx
/* Hello World in Rexx
*/
SAY "Hello World!"
Back to index
Rexx.simple
/* Hello
World in Rexx, simple version (writes to standard output) */
say 'Hello
World!'
exit
Back to index
Rexx.window
/* Hallo World in
Rexx, opens window */
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil',
'SysLoadFuncs'
call SysLoadFuncs
call RxMessageBox 'Hello World!', 'Hello
World Window', 'OK', 'EXCLAMATION'
exit
Back to index
RSL
//
Hello World in RSL (RS-Bank Language)
[Hello World!];
Back to
index
Ruby
# Hello World in Ruby
STDOUT << "Hello
World!"
Back to index
SAL
// Hello World in SAL
proc
main()
MsgBox("Hello from SAL", "Hello, World!")
end
Back to
index
Sather
-- Hello World in Sather
class HELLO is
main is
#OUT + "Hello World!\n" end
end
Back to index
Scheme
;;;
Hello World in Scheme
(define helloworld
(lambda ()
(display
"Hello World")
(newline)))
Back to index
Self
(| "Hello
World in Self"
hello = (| | 'Hello World!' print)
|)
Back to
index
SenseTalk
Hello World in SenseTalk.
on run put "Hello
World!" end run
Back to index
Setl2
-- Hello World in
Setl2
procedure Hello();
print "Hello World!";
end
Hello;
Back to index
Shakespeare
The Infamous Hello World
Program in Shakespeare.
Romeo, a young man with a remarkable
patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a
remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of
Andersen Insulting A/S.
Act I: Hamlet's insults and
flattery.
Scene I: The insulting of Romeo.
[Enter Hamlet and
Romeo]
Hamlet:
You lying stupid fatherless big smelly half-witted
coward!
You are as stupid as the difference between a handsome rich
brave
hero and thyself! Speak your mind!
You are as brave as the sum
of your fat little stuffed misused dusty
old rotten codpiece and a beautiful
fair warm peaceful sunny summer's
day. You are as healthy as the difference
between the sum of the
sweetest reddest rose and my father and yourself!
Speak your mind!
You are as cowardly as the sum of yourself and the
difference
between a big mighty proud kingdom and a horse. Speak your
mind.
Speak your mind!
[Exit Romeo]
Scene II: The praising
of Juliet.
[Enter Juliet]
Hamlet:
Thou art as sweet as the sum
of the sum of Romeo and his horse and his
black cat! Speak thy
mind!
[Exit Juliet]
Scene III: The praising of
Ophelia.
[Enter Ophelia]
Hamlet:
Thou art as lovely as the
product of a large rural town and my amazing
bottomless embroidered purse.
Speak thy mind!
Thou art as loving as the product of the bluest clearest
sweetest sky
and the sum of a squirrel and a white horse. Thou art as
beautiful as
the difference between Juliet and thyself. Speak thy
mind!
[Exeunt Ophelia and Hamlet]
Act II: Behind Hamlet's
back.
Scene I: Romeo and Juliet's conversation.
[Enter Romeo and
Juliet]
Romeo:
Speak your mind. You are as worried as the sum of
yourself and the
difference between my small smooth hamster and my nose.
Speak your
mind!
Juliet:
Speak YOUR mind! You are as bad as Hamlet!
You are as small as the
difference between the square of the difference
between my little pony
and your big hairy hound and the cube of your sorry
little
codpiece. Speak your mind!
[Exit Romeo]
Scene II: Juliet
and Ophelia's conversation.
[Enter Ophelia]
Juliet:
Thou art as
good as the quotient between Romeo and the sum of a small
furry animal and a
leech. Speak your mind!
Ophelia:
Thou art as disgusting as the
quotient between Romeo and twice the
difference between a mistletoe and an
oozing infected blister! Speak
your mind!
[Exeunt]
Back to
index
SIMPLE
[::PROGRAM:Hello World program in SIMPLE
A EQL
@0
MSG A
END
]
{::DATA:Data part
@0:T
Hello
World$$M
$$@
}
Back to index
Simula
! Hello World in
Simula;
BEGIN
OutText("Hello World!");
OutImage;
END
Back
to index
Smalltalk.simple
"Hello World in Smalltalk (simple
version)"
Transcript show: 'Hello World!'.
Back to
index
Smalltalk.window
"Hello World in Smalltalk (in an own
window)"
"(to be entered in a special browser)"
VisualComponent
subclass: #HelloWorldView
instanceVariableNames: ''
classVariableNames:
''
poolDictionaries: ''
category: 'test'
displayOn:
aGraphicsContext
'Hello World!' asComposedText displayOn:
aGraphicsContext.
open
|window|
window := ScheduledWindow
new.
window label: 'Hello World Demo:'.
window component: self
new.
window open.
Back to index
SML
(* Hello World in SML
*)
fun hello() = output(std_out, "Hello World!");
Back to
index
Snobol
* Hello World in Snobol
OUTPUT = "Hello
World!"
Back to index
Spiral
Hello World in Spiral. No comment
character exists.
e0v *** *eXlv** *lX *2X **oXi
v * * * * * * 2 * o **
v*
* * * * * ***** * v * v * *iX *
* * * * * * * ^ v * * * w *
* *** *
* ***** * v * * * * v *
* * * ^ * ^ * * * * * *
* *** * * ****v * v * * v
* * *
* * * * * * * * * * ^ * * *
* * * * * ***** * ***** * ***** * ***
*
* * * * * * * * * * ** **
*** *** ******* *****v^ *******
*****
*wX *** **3Xp *rX4.. d5* qd**
* 3 * * ** v^ * .. * * * ***
*
v * ^ * #pX v * .. . * * * **
* *** v * # r # * .. . * * * !q* *
* * * * *
# v # * 54 .. * * * * * *
* * * * * # * # * @X * * * * * *
* * * * * # * #
* v * * * * * *
* * * * * # * # * * ** * * * * * *
* * * * # * # * ** ** *
* * *** *
* * * * #v* ^ * *** * * ***** * **
** * ** ** *v * * * * * * *
***
***** *v^** *** *** ******* ****
Back to
index
SPL
HELLO: PROCEDURE OPTIONS(MAIN);
*
/* Hello World in
SPL4 (Siemens) */
*
DCL PRINTC ENTRY;
*
CALL PRINTC('Hello World!',
12);
RETURN;
*
END HELLO;
Back to
index
SQL-Advantage
-- Hello World in SQL for Advantage
Database
select 'Hello World' from system.iota
Back to
index
SQL-Oracle
# Hello World in SQL for Oracle
SELECT 'Hello
World' FROM dual;
Back to index
SQL
# Hello World in
SQL
SELECT 'Hello World';
Back to index
ST-Guide
##
Hello World for ST-Guide
@node "Hello World!"
Hello
World!
@endnode
Back to index
SVG
<?xml version="1.0"
encoding="utf-8" standalone="no"?>
<!-- Hello World in SVG
-->
<svg width="240" height="100" viewBox="0 0 240 100"
zoomAndPan="disable"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Hello
World</title>
<g>
<text x="10" y="50">Hello
World</text>
<animate attributeName='opacity' values='0;1' dur='4s'
fill='freeze' begin="0s"/>
</g>
</svg>
Back to
index
TAL
! Hello world in Tandem TAL (Transaction Application
Language)
proc Hello^World main;
begin
int .term[0:12] := [ 12 * [ “ “
] ],
.out [0:19];
string .sout := @out ‘<<’ 1, .sp;
call
myterm ( term[1] );
call open ( term[1], term );
if <> then call
abend;
sout ‘:=’ “Hello World” -> @sp;
call write ( term, out,
@sp’-‘@sout );
if <> then call abend;
end;
Back to
index
Tcl
#!/usr/local/bin/tclsh
# Hello World in Tcl
puts
"Hello World!"
Back to index
TeX
% Hello World in plain
\TeX
\immediate\write16{Hello World!}
\end
Back to
index
Texinfo
\input texinfo
@c Hello World for
Texinfo
@setfilename hello
@settitle Hello World
@node Top,
Hello, (dir), (dir)
@menu
* Hello:: Hello World
@end
menu
@node Hello, , Top, Top
Hello
World!
@contents
@bye
Back to index
TI-59
Hello World
for the TI-59 with PC-100C thermo printer.
No comment character
exists.
The TI-59/PC-100C can print up to 20 characters per line (upper
case
only). They are coded as 2-digit decimal numbers (see manual
for
details) in up to four print registers (of five characters each)
and
then printed.
Before entering the program, press LRN to switch into learn
mode.
After entering the program, cancel learn mode with LRN, turn on
the
printer, and run the program with A.
A pleasant sound, and what a
font! Real TRUE-TYPE!
The output looks like
this:
+--------------------+
| HELLO WORLD!|
|
|
+--------------------+
TI59 Code Comment
LBL A Start of
program: label A
OP 00 Clear the four print registers
23 "H"
OP 02
Write into print register 2
17 "E"
27 "L"
27 "L"
32 "O"
00 "
"
OP 03 Write into print register 3
43 "W"
32 "O"
35 "R"
27
"L"
16 "D"
73 "!"
OP 04 Write into print register 4
OP 05 Start
printing
ADV Line feed (optional)
R/S End program
Back to
index
TI-8x
Hello World for TI 8x/9x basic (tested on a
TI-83)
:ClrHome
:Disp "HELLO WORLD"
Back to
index
Tk
#!/usr/local/bin/wish -f
# Hello World in Tk
label
.l -text "Hello World!"
pack .l
Back to index
TSO-CLIST
PROC
0
/* Hello World in TSO CLIST */
write Hello World!
Back to
index
Turing
Hello World as a Turing machine.
State Read |
Write Step Next state
---------------|---------------------------------
1
empty | H > 2
2 empty | e > 3
3 empty | l > 4
4 empty | l >
5
5 empty | o > 6
6 empty | blank > 7
7 empty | W > 8
8
empty | o > 9
9 empty | r > 10
10 empty | l > 11
11 empty | d
> 12
12 empty | ! > STOP
Back to index
Unix-Shell
#
Hello World for the Unix shells (sh, ksh, csh, bash, ...)
echo "Hello
World!"
Back to index
UnrealScript
// Hello World for
UnrealScript
class HelloWorldHUD extends HudBase;
simulated
function DrawHudPassC (Canvas C)
{
C.SetPos( 0.50*C.ClipX ,
0.50*C.ClipY);
C.DrawText("Hello
World!");
}
defaultproperties
{
}
Back to
index
Vatical
+ Hello World in Vatical
LITURGY:
PRAY "Hello
World!"
AMEN.
Back to index
VAX-Macro
Hello World in VAX Macro.
.title helloworld
.ident /hello
world/
;
.library
/sys$library:lib/
$libdef
$lib$routinesdef
.psect
$data,wrt,noshr,noexe,long
hello: .ascid /Hello World!/
.psect
$code,nowrt,shr,exe,long
.entry
helloworld,^m<r9,r10,r11>
pushaq hello ; output
the
message
calls #1,g^lib$put_output ;
ret ; GTFOH
.end
helloworld ;
Back to index
Verilog
/* Hello World in Verilog.
*/
module main;
initial
begin
$display("Hello,
World");
$finish ;
end
endmodule
Back to
index
VisualBasic
REM Hello World in Visual Basic for
Windows
VERSION 2.00
Begin Form Form1
Caption =
"Form1"
ClientHeight = 6096
ClientLeft = 936
ClientTop =
1572
ClientWidth = 6468
Height = 6540
Left = 876
LinkTopic =
"Form1"
ScaleHeight = 6096
ScaleWidth = 6468
Top = 1188
Width =
6588
Begin Label Label1
Caption = "Hello World!"
Height = 372
Left =
2760
TabIndex = 0
Top = 2880
Width = 972
End
End
Option
Explicit
Back to index
VMS
$ ! Hello World for VMS-CLI
$
WRITE SYS$OUTPUT "Hello World!"
Back to index
VRML
#VRML V2.0
utf8
# Hello World in VRML
Shape
{
geometry Text
{string
"Hello World!"}
}
Back to index
Whitespace
Hello #World #in
#Whitespace * # # * # # #
+ *[Space]
+ #is #marked #with"#" # #[tab]
#with"*" *line-feed #with #"+" * # *so
+it #would
+be #easier #to #write
#again... #All *the *non-whitespace-characters #are *ignored... * # #
+
*
+ # # # # # * * # * * # #
+ *
+ # # # # # * * # * * * *
+ *
+ #
# # # # * # # # # #
+ *
+ # # # # # * # * # * * *
+ *
+ # # # # # *
* # * * * *
+ *
+ # # # # # * * * # # * #
+ *
+ # # # # # * * # * *
# #
+ *
+ # # # # # * * # # * # #
+ *
+ # # # # # * # # # # *
+
*
+ # # # # # * # * #
+ *
+ # #
+
+
+
Back to
index
WSH
// Hello World for the Windows Scripting
Host
WScript.Echo("Hello World!");
Back to
index
XHTML
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Hello World in XHTML
-->
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
Hello
World!
</title>
</head>
<body>
<p>
Hello
World!
</p>
</body>
</html>
Back to
index
XML
<?xml version="1.0"
encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl"
href="HelloWorld.xsl" ?>
<!-- Hello World in XML
-->
<text><string>Hello,
World</string></text>
Back to index
XSL-FO
<?xml
version="1.0" encoding="utf-8"?>
<!-- Hello World in XSL-FO
-->
<fo:root
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master
master-name="LetterPage" page-width="8.5in"
page-height="11in">?
<fo:region-body region-name="PageBody"
margin="0.7in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence
master-reference="LetterPage">
<fo:flow
flow-name="PageBody">
<fo:block font-size="12pt"
font-family="courier">Hello,
World</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
Back
to index
XSLT
<?xml version="1.0"
encoding="ISO-8859-1"?>
<!-- Hello World in XSLT
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template
match="/">
<xsl:value-of select="text/string"
/>
</xsl:template>
</xsl:stylesheet>
Back to
index
Credits
Programs were contributed by:
Wolfram Roesler: C,
Modula-2, Basic, Unix shell, Tcl, Tk, GEM, Curses, Texinfo, InstallScript, C++
(MFC), C++ (ISO), C#, English, German
Reinhard Hamann: Forth, Prolog, Lisp,
68000 Assembler (Atari)
Malte Schiphorst, Gino Lucrezi: Pascal
Stefan
Radermacher: TeX
Marcus Schmidke: Occam, MSDOS batch, Intel Assembler, 6502
Assembler
Ralf Lenz: Fortran IV, VMS
Marc Van-Woerkom: C++
Thomas
Menschel: 68008 Assembler
Heribert Otten: Cobol, PL/1, JCL
Thomas Piske:
BS2000 batch
Thomas Preymesser: Ada, pocket calculator
Adrian Nye &
Tim O'Reilly: X11-Athena
Udo Halfmann: ELAN
Pedro Martins:
Portugese
Stefan Llabres: Postscript
Volker Wurst: Smalltalk
Dirk
Theisen: Oberon (standard OS)
Georg Bauer: Rexx (simple version), Erlang,
SML, Snobol, Setl2, CAML light, Euphoria
Michael Glaesner: Perl,
awk
Christian Rosner: Eiffel
Markus Omers: Presentation Manager
Thomas
Dorner: SPL
Jochen Kunz: Rexx (window version), HP-48
Sascha Bendinger:
Dylan
Steffen Pohlen: Visual Basic, Gofer (dialog)
Andreas Dierks:
Algol-60, Algol-68, Fortran, Fortran-77, dBase IV, Logo
Klaus Mueller: TSO
CLIST, OPL
Jens Kilian: Intercal, Self
Martin Uebing: Intuition
Andreas
Maeder: Borland Pascal 7
Stefan Brozinski: Windows, HP-41C
Jens Schaefers:
Beta
Wolfgang Houben: PDP-11 Assembler
Pascal Costanza: Oberon (Oberon
OS)
Martin Oefelein: Sather, GynkoSoft
Ralf Unland: TI-59
Dan Sanders:
English translation of TI-59 program
Stefan Rupp: Java
Werner Huber:
Informix 4GL
Lutz Heitmann: Turing machine
Federico Hernandez-Pьschel:
HTML
Thomas Lattner: OZ
Gunter Baumann: NewtonScript
Torsten
Landschoff: ST-Guide
Florian Erhard: Gofer (simple)
Niels 'Frolic'
Froehling: 68000 Assembler (Amiga)
Michael Sievert: Rexx
Andy Newman:
ici
Sammy Mitchell: SAL
Ian Trudel: Icon, Objective C
Chris Locke:
Limbo
Blackened: BrainF***
Bora Bali: Assembler IBM 370, IBM Exec, IBM
Exec2, ASP (VB-Script and JavaScript), Java Servlet, Turkish, Italian
Neil L.
Burman: VAX Macro
Thor Kottelin: XHTML
Roel Adriaans: PHP
Ad Boerma:
TI-8x/9x, PHP
hugh@raynerdesign.com.au: Haskell
Monwar: Bengali,
Hindi
Jeff Hultquist: Scheme
Wolfgang Teschner: Python
Joel Dimbernat:
Rebol-view
Todd Nathan: SenseTalk
Heiko Berges: BCPL, ABAP/4, Focal, B,
MACRO10
Carlo Keil: Profan
Bruno Bord: French
Andreas Meinl: C++
(Qt)
Mikael Brandstrцm: Pike
Mariano Corsunsky: Spanish
Larisa
Tkachenko: PL/SQL
Thomas Fromm: Java Server Pages
Josha Munnik:
Shakespeare, Java-Mobile
Thierry Loiseau: JavaScript
Fredrik Sandebert:
REALbasic, Swedish
NYYRIKKI: Z80 Assembler for consoles
Simen Schweder:
Norwegian
Guaracy Monteiro: Ruby
Jeroen Vandezande, Christian Petri, Aux:
Delphi
Rodrigo Missiaggia: lua
Dr. Markus Mohnen (c't 25/2003, p. 243):
Clean
Egil Groenn: Simula, Norwegian
Nina Cording: Actionscript, AviSynth,
Lingo
Stuart Soffer: Mumps
Petri Heikkonen: Whitespace
Walter Bright:
D
Marco Pontello: Redcode
Gunnar Jutelius: AXEL
James Robinson:
BAL
Krzysztof Szymiczek: Logo (graphical)
Ralf Steines:
Amiga-E
Arpadffy Zoltan: OpenVMS DCL
Robert Gosling: Natural
David
Rutter: Spiral
Sanath Kumar.S: Verilog
Jonas Braathen: mIRC
David
Clesse: POV-Ray
Peter Hans van den Muijzenberg: Dutch, Frisian,
ZX81-Assembler
Gilson do Nascimento D'Elrei: Clipper
Marcos Diez:
Octave
Mathias P. Grдdler: PureBasic
Alan Eliasen: Frink
Thomas Marcks
von Wьrtemberg: Q-Basic
Pan Yongzhi: Shell scripts
Tynan Sylvester:
UnrealScript
Christian Klauser: Command Script
Eric Gauvin:
DynaMorph
Daniel Monteiro: Brazilian Portuguese
Tom Demuyt:
Judoscript
Pawel Dobrzycki: bc
David Peterson: SIMPLE (submitted by Barry
Hitchings)
curian: MSIL
BENI Andras: VRML
Fatty fatty: SQL
Deepak D:
Progress
Paul Tingle: POP-11
Istvan Szapudi: OCaml
Jason H. Jester:
ratfor
Jason: SQL (Advantage)
Steve Gwilt: TAL
Hynek (Pichi) Vychodil:
dc
Petr Adamek: Java (Swing GUI)
David Howell: XML, XSLT, XSL-FO
Robert
McNally: Mathematica
Libor Tvrdik: XSLT
Andrej Krivulcik (The Fox):
Slovak
Wikipedia (submitted by Petr Simek): Inform
Jashin Eugene: Windows
Scripting Host
A.Shulga: C++ Epoc
Lokshin Mark: PowerScript
Andrey
Grigoriev: 1C:Enterprise
Roman Truschev: RSL
Alex Badarin:
Gentee
Laurent Tonnelier: SVG
Sascha Welter: AppleScript
Aaron Duley:
LabVIEW
Andrey V. Sokolov: Russian
Dennis Melentyev: Ukrainian
Hello
World Links
* A Wiki with some interesting languages and additional
information.
* The online encyclopedia Wikipedia on Hello World.
* Another
collection of Hello World programs.
* The ACM Hello World project.