|
The Hello World Collection
"Hello World" is the first program one usually writes when learning a new programming language. This collection includes 290 Hello World programs in many more-or-less well known programming languages, plus 47 human languages.
The list was compiled by Wolfram R?sler with help from many people around the world. It was started on 03-Oct-1994, put on the Internet on 30-Dec-1999, and exceeded 200 entries on 14-Jul-2005. It is administered as a bunch of text files which are compiled into this single HTML file by a bash script executed under the Cygwin environment, run on Windows.
Click here for a list of all contributors.
Click here for related links.
Last update: Sep 11, 2006.
Please send all comments and contributions to wolfram@roesler-ac.de. Begin your contribution with a comment in the respective language, and put "Hello World" into the subject line to make your message pass the spam filter. (Don't use a subject line of "Hello" alone since that's what lots of spam does!)
--------------------------------------------------------------------------------
Index
The latest additions are shown in bold.
1 1C-Enterprise
A ABAP4 Actionscript-Flash5 ActionScript-Flash8 Actionscript-FlashMX Ada Algol-60 Algol-68 Amiga-E APL AppleScript Argh! ASP-JavaScript ASP-VBE ASP-VBS Assembler-6502-AppleII Assembler-6502-C64 Assembler-68000-Amiga Assembler-68000-AtariST Assembler-68008 Assembler-DG-Nova Assembler-HLA Assembler-IBM-370 Assembler-Intel Assembler-Linux Assembler-MIPS Assembler-MMIX Assembler-PDP11 Assembler-PDP8 Assembler-VP Assembler-Win32 Assembler-z390 Assembler-Z80-Console Assembler-ZX81 Asterisk AutoIT3 AviSynth awk Axel
B B BAL BASIC bc BCPL Beta BrainFxxx BS2000
C C# C++ C++-Epoc C++-ISO C++-MFC C++-Qt C-AL C-Ansi C-Curses C-GEM C-Intuition C-K+R C-Objective C-PresManager C-Windows C-X11-Athena CAML-Light Clean Clipper Cobol Cocoa ColdFusion CommandScript Console-Postscript CSS
D D Darkbasic Dataflex dBase dc Delphi Dialect DML Dylan DynaMorph
E Eiffel Elan Elliott Erlang Euphoria
F Ferite Fj?lnir Focal FOCUS Forth Fortran Fortran77 Fortran90 FortranIV Frink
G G-Code Gambas Gentee-simple Gentee Gofer Groovy GynkoSoft
H Haskell HDX HP-41C HP-48 HQ9+ HTML Human HyperTalk
I IBM-Exec IBM-Exec2 ici Icon IDC IDL Inform Informix-4GL Ingres-ABF InstallScript Intercal Io
J Jako Java Java-Mobile Java-Server-Pages Java-Servlet Java-Swing JavaScript JCL JudoScript
K Kylix
L LabVIEW LaTeX LibertyBASIC Limbo LIMS-Basic Lingo Lisp Lisp-Emacs Logo Logo-graphical LOTOS Lotus-Note-Formula LS-DYNA LSL lua
M m4 MACRO-10 MACRO-11 Macromedia-Flex MAMASH Maple Mathematica MATLAB MEL Microtik mIRC-Alias mIRC-Commandline mIRC-Script Modula-2 MoHAA-Script MPD MSDOS MSIL MuLisp Mumps
N Natural NewtonScript Nice NSIS
O Oberon.oberon Oberon.std OCaml Occam Octave Omnimark Ook OpenVMS OPL.dialog OPL.simple OZ
P Pascal Pascal-Windows PDF Perl PHP PHP+GD Piet Pike PL-SQL PL1 Pocket-Calculator POP-11 Postscript POV-Ray PowerScript Profan Prograph Progress Prolog PureBasic-Console PureBasic-Messagebox PureBasic-Window Python
Q qore QuakeC QuickBASIC
R R ratfor REALbasic RealText Rebol-view Redcode REFAL-2 Regular-Expression Revolution Rexx.simple Rexx.window RPG-IV RSL Ruby
S S-Plus SAL SApp Sather Scala Scheme Seed7 Self SenseTalk Setl2 Shakespeare SilverBasic SIMPLE Simula Smalltalk.simple Smalltalk.window SMIL SML Snobol Spiral SPL SPSS SQL-Advantage SQL-Oracle SQL sqlplus ST-Guide SVG
T T-SQL TACL TAL Tcl TECO TeX Texinfo TI-59 TI-8x TI-BASIC-Extended TI-BASIC Tk troff TSO-CLIST Turing-Machine
U Unix-Shell unlambda UnrealScript
V Vatical VAX-11-Macro VAX-Macro Velocity Verilog Visual-FoxPro VisualBasic VisualBasic.NET VMS-DCL VRML VVVV
W Whitespace WSH
X X++ XHTML XML XQuery XSL-FO XSLT XUL
--------------------------------------------------------------------------------
1C-Enterprise
// 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-Flash8
// Hello World in ActionScript 2.0 (Flash 8)
class HelloWorld
{
private var helloWorldField:TextField;
public function HelloWorld( mc:MovieClip )
{
mc.helloWorldField = mc.createTextField("helloWorldField", mc.getNextHighestDepth(), 0, 0, 100, 100);
mc.helloWorldField.autoSize = "left";
mc.helloWorldField.htmlText = '<font size="20" color="#0000FF">Hello World!</font>';
}
}
// on a frame
import HelloWorld;
var hw:HelloWorld = new HelloWorld( this );
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;
procedure Hello_World is
begin
Text_IO.Put_Line("Hello World!");
end Hello_World;
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
--------------------------------------------------------------------------------
Argh!
Hello World in Argh!. No comment character exists.
j World!
lpppppppPPPPPPq
Hello,
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-VBE
<!-- Hello World in ASP-VBE (Visual Basic Script Encided) -->
<html>
<script language="VBScript.Encode">#@~^HQAAAA==@#@&HdTAK6PrCsVKP WMV[Zr@#@&HwcAAA==^#~@</script>
</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-AppleII
**********************************
* *
* HELLO WORLD FOR 6502 *
* APPLE ][, MERLIN ASSEMBLER *
* *
**********************************
STROUT EQU $DB3A ;OUTPUTS AY-POINTED NULL TERMINATED STRING
LDY #>HELLO
LDA #<HELLO
JMP STROUT
HELLO ASC "HELLO WORLD!",00
Back to index
--------------------------------------------------------------------------------
Assembler-6502-C64
; 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
B) 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-DG-Nova
.TITL HELLO
02 ; "HELLO, WORLD" FOR NOVA RUNNING RDOS
03 ; USES PCHAR SYSTEM CALL
04 .NREL
05 .ENT START
06
07 START:
08 00000'022424 DOCHAR: LDA 0,@PMSG ; LOAD AC0 WITH NEXT CHARACTER,
09 00001'101015 MOV# 0,0,SNR ; TEST AC0;
10 00002'000412 JMP DONE ; SKIPPED IF NONZERO
11 00003'006017 .SYSTM
12 00004'010000 .PCHAR ; PRINT FIRST
13 00005'000413 JMP ER ; SKIPPED IF OK
14 00006'101300 MOVS 0,0 ; SWAP BYTES
15 00007'006017 .SYSTM
16 00010'010000 .PCHAR ; PRINT SECOND
17 00011'000407 JMP ER ; SKIPPED IF OK
18 00012'010412 ISZ PMSG ; POINT TO NEXT WORD
19 00013'000765 JMP DOCHAR ; GO AROUND AGAIN
20
21 00014'006017 DONE: .SYSTM ; NORMAL EXIT
22 00015'004400 .RTN
23 00016'000402 JMP ER
24 00017'063077 HALT
25 00020'006017 ER: .SYSTM ; ERROR EXIT
26 00021'006400 .ERTN
27 00022'063077 HALT
28 00023'063077 HALT
29
30 00024'000025'PMSG: .+1 ; ADDRESS OF FIRST WORD OF TEXT
31 ; NOTE BYTES ARE PACKED RIGHT-TO-LEFT BY DEFAULT
32 00025'042510 .TXT /HELLO, WORLD!<15><12>/ ; THAT'S CR LF
33 046114
34 026117
35 053440
36 051117
37 042114
38 006441
39 000012
40 00035'000000 0 ; FLAG WORD TO END STRING
41
42 .END START
Back to index
--------------------------------------------------------------------------------
Assembler-HLA
; Hello World for Intel compatible High Level Assembler
program HELLO;
#include( "stdlib.hhf" );
begin HELLO;
stdout.put("Hello World",nl);
end HELLO;
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-Linux
;; Hello World for the nasm Assembler (Linux)
SECTION .data
msg db "Hello, world!",0xa ;
len equ $ - msg
SECTION .text
global main
main:
mov eax,4 ; write system call
mov ebx,1 ; file (stdou)
mov ecx,msg ; string
mov edx,len ; strlen
int 0x80 ; call kernel
mov eax,1 ; exit system call
mov ebx,0
int 0x80 ; call kernel
Back to index
--------------------------------------------------------------------------------
Assembler-MIPS
## Hello Word in Assemlber for the MIPS Architecture
.globl main
main: jal hwbody #call Hello Word Procedure
trap 10 #exit
hwbody: addi $30, $30,-4 #we need to preserve
sw $4, 0($30) #existing values in register 4
addi $4,$0,72 # H
trap 101
addi $4,$0,101 # e
trap 101
addi $4,$0,108 # l
trap 101
trap 101 # l
addi $4,$0,111 # o
trap 101
addi $4,$0,32 # <space>
trap 101
addi $4,$0,87 # W
trap 101
addi $4,$0,111 # o
trap 101
addi $4,$0,114 # r
trap 101
addi $4,$0,108 # l
trap 101
addi $4,$0,100 # d
trap 101
addi $4,$0,33 # !
trap 101
addi $4,$0,10 # \n
trap 101
done: lw $4, 0($30) #restore values
addi $30, $30, 4 #in register 4
jr $31 #return to the main
Back to index
--------------------------------------------------------------------------------
Assembler-MMIX
* Hello World in Assembler
* for the MMIX Computer
LOC #100
Main GETA $255,String
TRAP 0,Fputs,StdOut
TRAP 0,Halt,0
String BYTE "Hello, world!",#a,0
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-PDP8
/ Hello World in Assembler for the DEC PDP-8
*200
hello, cla cll
tls / tls to set printer flag.
tad charac / set up index register
dca ir1 / for getting characters.
tad m6 / set up counter for
dca count / typing characters.
next, tad i ir1 / get a character.
jms type / type it.
isz count / done yet?
jmp next / no: type another.
hlt
type, 0 / type subroutine
tsf
jmp .-1
tls
cla
jmp i type
charac, . / used as initial value of ir1
310 / H
305 / E
314 / L
314 / L
317 / O
254 / ,
240 /
327 / W
317 / O
322 / R
314 / L
304 / D
241 / !
m6, -15
count, 0
ir1 = 10
$
Back to index
--------------------------------------------------------------------------------
Assembler-VP
; Hello World in VP Assembler for intent (Amiga Anywhere)
.include 'tao'
tool 'home/hello',VP,TF_MAIN,8192,0
ent (-:-)
qcall lib/print,(hello_world.p : i~)
ret ()
entend
data
hello_world:
dc.b "Hello World!",ASCII_LF,0
toolend
Back to index
--------------------------------------------------------------------------------
Assembler-Win32
; Hello world in Assembler for the Win32 architecture
TITLE Hello world in win32. Tasm
VERSION T310
Model use32 Flat,StdCall
start_code segment byte public 'code' use32
begin:
Call MessageBox, 0, offset sHallo, offset caption, 0
Call ExitProcess, 0
start_code Ends
start_data segment byte public 'data' use32
sHallo db 'Hello world',0
caption db "Hi",0
start_data Ends
End begin
Back to index
--------------------------------------------------------------------------------
Assembler-z390
; Hello World for z390 IBM compatible mainframe assembler
HELLO CSECT
USING *,15
WTO 'Hello World'
BR 14
END
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 (C),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 (C),A
OUT (C),E
;----------------------------------------
; Register 1 to #50
;
; Select 40 column mode, enable screen and disable vertical interrupt
LD A,#50
INC E
OUT (C),A
OUT (C),E
;----------------------------------------
; Register 2 to #0
;
; Set pattern name table to #0000
XOR A
INC E
OUT (C),A
OUT (C),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 (C),A
OUT (C),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 (C),A
OUT (C),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 (C),A
LD A,#48
OUT (C),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 (C),A
LD A,#40
OUT (C),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
--------------------------------------------------------------------------------
Asterisk
;; Hello World application for an Asterisk dial plan. Asterisk is a
;; GNU GPL telephony server. More details at http://www.asterisk.org
;; Displays Hello World at the Asterisk console if in verbose mode
exten => _X.,1,NoOp(Hello World)
Back to index
--------------------------------------------------------------------------------
AutoIT3
;Hello, World for AutoIT3 http://www.autoitscript.com
msgbox(0,"Hello World",0)
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.htm
Back to index
--------------------------------------------------------------------------------
B
/* Hello World in B */
main() {
extern a, b, c;
putchar (a); putchar (b); putchar (c); 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 BrainF***. No comment character exists.
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
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 Microsoft C# ("C-Sharp").
using System;
class HelloWorld
{
public static int Main(String[] args)
{
Console.WriteLine("Hello, World!");
return 0;
}
}
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-AL
OBJECT Codeunit 50000 HelloWorld
{
PROPERTIES
{
OnRun=BEGIN
//Hello World in C/AL (Microsoft Business Solutions-Navision)
MESSAGE(Txt001);
END;
}
CODE
{
VAR
Txt001@1000000000 : TextConst 'ENU=Hello World';
BEGIN
END.
}
}
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-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 (Summer 87, 5.0, 5.01, 5.2, 5.3)
? "Hellp 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
--------------------------------------------------------------------------------
Cocoa
// Hello World in Cocoa Obj-C (OS X)
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello, World!");
[pool release];
return 0;
}
Back to index
--------------------------------------------------------------------------------
ColdFusion
<!---Hello world in ColdFusion--->
<cfset message = "Hello World">
<cfoutput> #message#</cfoutput>
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
--------------------------------------------------------------------------------
Console-Postscript
%% Hello World in Console PostScript
serverdict begin 0 exitserver
/Courier findfont
48 scalefont setfont
22 22 moveto
(Hello World!) show
showpage
%% End
Back to index
--------------------------------------------------------------------------------
CSS
/* Hello World in CSS */
body:before {
content: "Hello World";
}
Back to index
--------------------------------------------------------------------------------
D
// Hello World in D
void main()
{
printf("Hello World!\n");
}
Back to index
--------------------------------------------------------------------------------
Darkbasic
` Hello World in Darkbasic
print "Hello World!"
wait key
Back to index
--------------------------------------------------------------------------------
Dataflex
// Hello World in Dataflex Procedural
/tela
Hello world
/*
clearscreen
page tela
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
--------------------------------------------------------------------------------
Dialect
# Hello World in Dialect
print "Hello World"
Back to index
--------------------------------------------------------------------------------
DML
! Hello World in DML (Gembase database language)
PROCEDURE_FORM MAIN
PRINT/NOWAIT ("Hello world")
END_FORM
Back to index
--------------------------------------------------------------------------------
Dylan
module: hello-world
author: Homer
copyright: (c) 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
--------------------------------------------------------------------------------
Elliott
:: Hello World in Elliott Autocode
SETF PUNCH
SETR 1
1)TELEPRINTER
LINE
TITLE Hello World.;
STOP
START 1
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
puts(1, "Hello World!\n")
Back to index
--------------------------------------------------------------------------------
Ferite
/**
* start script -- Hello world in Ferite ( www.ferite.org )
*/
uses "console";
Console.println("Hello World");
/* end script */
Back to index
--------------------------------------------------------------------------------
Fj?lnir
;; Hello World in Fj鰈nir (Icelandic programming language)
"hello" < main
{
main ->
stef(;)
stofn
skrifastreng(;"Hall?Ver鰈d!"),
stofnlok
}
*
"GRUNNUR"
;
Back to index
--------------------------------------------------------------------------------
Focal
1.01 COMMENT HELLO WORLD IN FOCAL
1.02 TYPE "HELLO WORLD", !
1.03 QUIT
Back to index
--------------------------------------------------------------------------------
FOCUS
-* Hello World in FOCUS
-TYPE Hello world
Back to index
--------------------------------------------------------------------------------
Forth
' Hello World in Forth
: HELLO
." 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
--------------------------------------------------------------------------------
Fortran90
! Hello World in Fortran 90 and 95
PROGRAM HelloWorld
WRITE(*,*) "Hello World!"
END PROGRAM
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
--------------------------------------------------------------------------------
G-Code
Hello World in "G Code" for CNC machines.
Click here for a preview.
%
O1000
(PROGRAM NAME - HELLOWORLD)
(DATE=DD-MM-YY - 30-06-05 TIME=HH:MM - 19:37)
N10G20
N20G0G17G40G49G80G90
/N30G91G28Z0.
/N40G28X0.Y0.
/N50G92X0.Y0.Z0.
( 1/16 FLAT ENDMILL TOOL - 1 DIA. OFF. - 1 LEN. - 1 DIA. - .0625)
(CONTOUR)
N60T1M6
N70G0G90X0.Y1.A0.S5000M3
N80G43H1Z.5
N90Z.25
N100G1Z-.005F2.
N110Y0.F20.
N120G0Z.5
N130X.5
N140Z.25
N150G1Z-.005F2.
N160Y1.F20.
N170G0Z.5
N180Y.6106
N190Z.25
N200G1Z-.005F2.
N210X0.F20.
N220G0Z.5
N230X.6157Y.4712
N240Z.25
N250G1Z-.005F2.
N260X.6039Y.4135F20.
N270X.6Y.351
N280X1.1
N290G3X1.0098Y.6202R.4333
N300X.8941Y.6971R.2625
N310X.7255Y.6538R.1837
N320X.6157Y.4712R.332
N330G0Z.5
N340X.6Y.351
N350Z.25
N360G1Z-.005F2.
N370X.6039Y.2885F20.
N380G3X.7255Y.0481R.385
N390X.9745R.1853
N400X1.0843Y.2308R.332
N410G0Z.5
N420X1.2039Y0.
N430Z.25
N440G1Z-.005F2.
N450Y1.F20.
N460G0Z.5
N470X1.3098
N480Z.25
N490G1Z-.005F2.
N500Y0.F20.
N510G0Z.5
N520X1.4706Y.125
N530Z.25
N540G1Z-.005F2.
N550X1.502Y.0817F20.
N560G3X1.6176Y.0048R.2625
N570X1.7863Y.0481R.1837
N580X1.9118Y.351R.3957
N590X1.8216Y.6202R.4333
N600X1.7059Y.6971R.2625
N610X1.5373Y.6538R.1837
N620X1.4157Y.4135R.358
N630X1.4706Y.125R.4611
N640G0Z.5
N650X1.9853Y0.
N660Z.25
N670G1Z-.005F2.
N680X2.0422Y.1442F20.
N690G0Z.5
N700X2.5706Y1.
N710Z.25
N720G1Z-.005F2.
N730X2.6961Y0.F20.
N740X2.8216Y1.
N750X2.9451Y0.
N760X3.0706Y1.
N770G0Z.5
N780X3.2961Y.6538
N790Z.25
N800G1Z-.005F2.
N810X3.2608Y.6202F20.
N820G3X3.1745Y.2885R.4408
N830X3.2961Y.0481R.385
N840X3.5451R.1853
N850X3.6706Y.351R.3957
N860X3.5804Y.6202R.4333
N870X3.4647Y.6971R.2625
N880X3.2961Y.6538R.1837
N890G0Z.5
N900X3.7461Y.7019
N910Z.25
N920G1Z-.005F2.
N930Y0.F20.
N940G0Z.5
N950Y.3654
N960Z.25
N970G1Z-.005F2.
N980X3.7637Y.4663F20.
N990G2X3.8422Y.6587R.4948
N1000X3.9167Y.7019R.0929
N1010G1X4.0755
N1020G2X4.15Y.6587R.0929
N1030X4.1951Y.5769R.246
N1040G0Z.5
N1050X4.3255Y1.
N1060Z.25
N1070G1Z-.005F2.
N1080Y0.F20.
N1090G0Z.5
N1100X4.9275
N1110Z.25
N1120G1Z-.005F2.
N1130Y1.F20.
N1140G0Z.5
N1150X5.0314
N1160Z.25
N1170G1Z-.005F2.
N1180Y.2981F20.
N1190G0Z.5
N1200X4.9275Y.274
N1210Z.25
N1220G1Z-.005F2.
N1230X4.8941Y.1731F20.
N1240G2X4.7627Y.0192R.3255
N1250X4.5529Y.0481R.1862
N1260X4.4314Y.2885R.358
N1270X4.5176Y.6202R.4408
N1280X4.6333Y.6971R.2625
N1290X4.802Y.6538R.1837
N1300X4.8941Y.5288R.3457
N1310G1X4.9275Y.4279
N1320G0Z.5
N1330X5.0314Y.149
N1340Z.25
N1350G1Z-.005F2.
N1360Y0.F20.
N1370G0Z.5
N1380M5
N1390G91G28Z0.
N1400G28X0.Y0.A0.
N1410M30
%
Back to index
--------------------------------------------------------------------------------
Gambas
'************************************
' Hello world in Gambas
'************************************
PUBLIC SUB Main()
PRINT "Hello World"
END
Back to index
--------------------------------------------------------------------------------
Gentee-simple
// Hello World in Gentee (simple version)
func hello<main> : @"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
--------------------------------------------------------------------------------
Groovy
// Hello World in Groovy
println "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
--------------------------------------------------------------------------------
HQ9+
Hello World in HQ9+ and HQ9++. No comment character exists.
H
Back to index |
|