荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bakey (猪朋狗友), 信区: Program
标  题: Hello World plus 40 programming language
发信站: 荔园晨风BBS站 (Thu May 18 13:08:29 2006), 站内

http://www.roesler-ac.de/wolfram/hello.htm

---------------

The Hello World Collection

"Hello World" is the first program one usually writes when learning a new pr
ogra

mming language. This collection includes 263 Hello World programs in many mo
re-o

r-less well known programming languages, plus 40 human languages.

The list was compiled by Wolfram R?sler with help from many people around th
e wo

rld. It was started on 03-Oct-1994, put on the Internet on 30-Dec-1999, and
exce

eded 200 entries on 14-Jul-2005. It is administered as a bunch of text files
 whi

ch are

compiled into this single HTML file by a bash script executed under the Cygw
in e

nvironment, run on Windows.

Click here for a list of all contributors.

Click here for related links.

Last update: Apr 24, 2006.

Please send all comments and contributions to wolfram@roesler-ac.de. Begin y
our

contribution with a comment in the respective language, and put "Hello World
" in

to the subject line to make your message pass the spam filter. (Don't use a
subj

ect line of

"Hello" alone since that's what lots of spam does!)

Index

The latest additions are shown in bold.


1C-Enterprise  ABAP4  Actionscript-Flash5  Actionscript-FlashMX  Ada  Algol-
60

Algol-68  Amiga-E  APL  AppleScript  ASP-JavaScript  ASP-VBE  ASP-VBS  Assem
bler

-6502  Assembler-68000-Amiga  Assembler-68000-AtariST  Assembler-68008  Asse
mble

r-DG-Nova

Assembler-IBM-370  Assembler-Intel  Assembler-Linux  Assembler-MIPS  Assembl
er-M

MIX  Assembler-PDP11  Assembler-PDP8  Assembler-VP  Assembler-Win32  Assembl
er-Z

80-Console  Assembler-ZX81  Asterisk  AutoIT3  AviSynth  awk  Axel

B  BAL  BASIC  bc  BCPL  Beta  BrainFxxx  BS2000

C++  C++-Epoc  C++-ISO  C++-MFC  C++-Qt  C-AL  C-Ansi  C-Curses  C-GEM  C-In
tuit

ion  C-K+R  C-Objective  C-PresManager  C-Sharp  C-Windows  C-X11-Athena  CA
ML-L

ight  Clean  Clipper  Cobol  Cocoa  ColdFusion  CommandScript  Console-Posts
crip

t

D  Darkbasic  Dataflex  dBase  dc  Delphi  Dialect  DML  Dylan  DynaMorph

Eiffel  Elan  Elliott  Erlang  Euphoria

Fj?lnir  Focal  Forth  Fortran  Fortran77  FortranIV  Frink

G-Code  Gentee-simple  Gentee  Gofer  Groovy  GynkoSoft

Haskell  HDX  HP-41C  HP-48  HQ9+  HTML  Human  HyperTalk

IBM-Exec  IBM-Exec2  ici  Icon  IDC  Inform  Informix-4GL  Ingres-ABF  Insta
llSc

ript  Intercal

Jako  Java  Java-Mobile  Java-Server-Pages  Java-Servlet  Java-Swing  JavaSc
ript

  JCL  JudoScript

Kylix

LabVIEW  LaTeX  LibertyBASIC  Limbo  Lingo  Lisp  Lisp-Emacs  Logo  Logo-gra
phic

al  LSL  lua

m4  MACRO-10  MACRO-11  Macromedia-Flex  MAMASH  Maple  Mathematica  MATLAB
 MEL

  mIRC-Alias  mIRC-Commandline  mIRC-Script  Modula-2  MPD  MSDOS  MSIL  MuL
isp

 Mumps

Natural  NewtonScript  Nice

Oberon.oberon  Oberon.std  OCaml  Occam  Octave  Ook  OpenVMS  OPL.dialog  O
PL.s

imple  OZ

Pascal  Pascal-Windows  PDF  Perl  PHP  Piet  Pike  PL-SQL  PL1  Pocket-Calc
ulat

or  POP-11  Postscript  POV-Ray  PowerScript  Profan  Prograph  Progress  Pr
olog

  PureBasic-Console  PureBasic-Messagebox  PureBasic-Window  Python

qore  QuakeC  QuickBASIC

R  ratfor  REALbasic  RealText  Rebol-view  Redcode  REFAL-2  Regular-Expres
sion

  Rexx.simple  Rexx.window  RPG-IV  RSL  Ruby

S-Plus  SAL  SApp  Sather  Scheme  Seed7  Self  SenseTalk  Setl2  Shakespear
e  S

ilverBasic  SIMPLE  Simula  Smalltalk.simple  Smalltalk.window  SMIL  SML  S
nobo

l  Spiral  SPL  SQL-Advantage  SQL-Oracle  SQL  sqlplus  ST-Guide  SVG

TACL  TAL  Tcl  TECO  TeX  Texinfo  TI-59  TI-8x  TI-BASIC-Extended  TI-BASI
C  T

k  troff  TSO-CLIST  Turing-Machine

Unix-Shell  unlambda  UnrealScript

Vatical  VAX-11-Macro  VAX-Macro  Verilog  Visual-FoxPro  VisualBasic  Visua
lBas

ic.NET  VMS-DCL  VRML

Whitespace  WSH

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-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

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@#
@&Hw

cAAA==^#~@</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

; 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-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-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***.

++++++++++[->+++++++>++++++++++>+++++++++++>

+++++++++++>++++>+++>+++++++++>+++++++++++>+

+++++++++>+++<<<<<<<<<<]>++.>+.>--..>+.>++++

.>++.>---.<<<.>>>>++++.<<<<<.>>>>>>.>+++.

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-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-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

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

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

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

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

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

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

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.

Armenian        ??????, ??????? (barev ash'kharh)

Azeri   Salam Dünya

Czech   Ahoj Světe!

Basque/Euskara  Kaixo mundua!

Bengali         Shagatam Prithivi!

Bosnian         Zdravo Svijete!

Brazilian Portuguese    Oi mundo!

Bulgarian       (Zdrav'ei svi'at)

Catalan         Hola m髇!

Chinese         (ni hao shi jie)

Croatian        Bok Svijete!

Danish  Hej, Verden!

Dutch   Hallo, wereld!

English         Hello World!

Finnish         Hei maailma!

French  Salut le Monde!

Frisian         Hallo, wr鈒d!

German  Hallo Welt!

Greek   Γεια σου κ?σμε! (Geia soy kosme)

Hebrew  (Shalom Olam)

Hindi   (namaste duniya)

Hungarian       Szia Vilag!

Indonesian      Halo Dunia!

Italian         Ciao Mondo!

Japanese        (konnichiwa sekai)

Kannada         (namaste prapancha)

Korean  (annyeong, sesangah)

Malagasy        Manao ahoana ry tany!

Norwegian       Hallo Verden!

Polish  Witaj, Swiecie!

Portuguese      Ola mundo!

Romanian        Salut lume!

Russian         (Zdra'vstvuj mi'r)

Serbian         Zdravo Svete!

Slovak  Ahoj, svet!

Slovenian       Pozdravljen svet!

Spanish         ?Hola mundo!

Swedish         Hejsan v?rld!

Turkish         Merhaba Dünya!

Ukrainian       (Pryvi't svi'te)

Back to index

HyperTalk

-- Hello World in HyperTalk

answer "Hello, world!"

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

IDC

// Hello World in IDC-script language for IDA disaasembler

#include <idc.idc>

static main(void)

{

  Message("Hello World!");

}

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

Ingres-ABF

/* Hello World in Ingres ABF */

procedure hello =

begin

  message 'Hello, World' with style=popup;

end

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

Jako

# Hello World in Jako

use sys;

sys::print("Hello, world!\n");

Back to index

Java

// Hello World in Java

import java.io.*;

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

Kylix

{Hello World in Kylix}

program Hello_World;

 uses

    QDialogs;

 begin

   ShowMessage('Hello World');

 end.

Back to index

LabVIEW

Back to index

LaTeX

% Hello World! in LaTeX

\documentclass{article}

\begin{document}

Hello World!

\end{document}

Back to index

LibertyBASIC

'hello world in Liberty BASIC

PRINT "Hello World"

END

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

Lisp-Emacs

;;; Hello World in Emacs Lisp.

(defun hello-world()

  "Display the string hello world."

  (interactive)

  (message "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

LSL

// Hello World in Linden Scripting Language (LSL)

default

{

    state_entry()

    {

        llSay(0, "Hello World");

    }

}

Back to index

lua

# Hello World in lua

print "Hello world"

Back to index

m4

# Hello World for the m4 macro processor

Hello

Back to index

MACRO-10

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

MACRO-11

;       "Hello, world!" in MACRO-11 for RT-11

        .MCALL  .EXIT,.PRINT

START:  .PRINT  #$1

        .EXIT

$1:     .ASCIZ  /Hello, world!/

        .END    START

Back to index

Macromedia-Flex

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">

     <!-- Hello Word in Macromedia Flex -->

     <mx:Label text="Hello World"/>

</mx:Application>

Back to index

MAMASH

/* Hello World in MAMASH */

TQWD LGYEA NXKIA HELLO_WORLD )1(

DWLH CXBZ_YKX

ID& HELLO_WORLD YED 'HELLO WORLD' .

Back to index

Maple

# Hello World in Maple

>> printf("Hello World!");

Back to index

Mathematica

(* Hello World in Mathematica *)

Hello[] := Print["Hello, World!"]

Back to index

MATLAB

% Hello World in MATLAB.

disp('Hello World');

Back to index

MEL

// Hello World in MEL scripting language for Alias Maya

proc helloWorld () {

   print "Hello World!\n";

}

helloWorld;

Back to index

mIRC-Alias

;Hello World for mIRC (alias section)

helloworld: /echo -a Hello World!

Back to index

mIRC-Commandline

; Hello World! for mIRC (command line version)

echo Hello World!

Back to index

mIRC-Script

;Hello World for mIRC script

alias helloworld {

  /echo -a 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

MPD

# Hello World in MPD.

resource helloworld()

  write("Hello World")

end

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

MuLisp

; Hello, World! in MuLisp

(print 'Hello\,\ world\!)

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

Nice

//Hello World in Nice

void main(String[] args){

   println("hello world");

}

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

Ook

Hello World in Ook. No comments possible.

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. O
ok.

Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. O
ok.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? O
ok.

Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. O
ok.

Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. O
ok?

Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. O
ok.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. O
ok.

Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. O
ok.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. O
ok.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! O
ok.

Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. O
ok.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. O
ok.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. O
ok.

Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! O
ok.

Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. O
ok.

Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! O
ok.

Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! O
ok!

Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? O
ok!

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. O
ok.

Ook. Ook. Ook. Ook. Ook! Ook.

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","(C) Klaus M黮ler 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

PDF

%Hello World in Portable Document Format (PDF)

%PDF-1.2

1 0 obj

<<

/Type /Page

/Parent 5 0 R

/Resources 3 0 R

/Contents 2 0 R

>>

endobj

2 0 obj

<<

/Length 51

>>

stream

BT

/F1 24 Tf

1 0 0 1 260 600 Tm

(Hello World)Tj

ET

endstream

endobj

3 0 obj

<<

/ProcSet[/PDF/Text]

/Font <</F1 4 0 R >>

>>

endobj

4 0 obj

<<

/Type /Font

/Subtype /Type1

/Name /F1

/BaseFont /Arial

>>

endobj

5 0 obj

<<

/Type /Pages

/Kids [ 1 0 R ]

/Count 1

/MediaBox

[ 0 0 612 792 ]

>>

endobj

6 0 obj

<<

/Type /Catalog

/Pages 5 0 R

>>

endobj

trailer

<<

/Root 6 0 R

>>

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

Piet

Hello World in Piet. No comment character exists.

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 (sqlplus)

set serveroutput on

begin

  dbms_output.enable(10000);

  dbms_output.put_line('Hello World');

end;

/

Back to index

PL1

/* Hello World in PL/1 */

Hello: procedure options(main);

       put skip list('Hello World!');

end Hello;

Back to index

Pocket-Calculator

Hello World for standard pocket calculators (7-segment display).

Type in and turn calculator upside down.

0.7734

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.

// Click here to view the output.

#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

Prograph

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_Title
Bar

| #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

qore

#!/usr/local/bin/qore

# Hello World in qore

class HelloWorld

{

    constructor()

    {

        background $.output("Hello, world!");

    }

    output($arg)

    {

        printf("%s\n", $arg);

    }

}

new HelloWorld();

Back to index

QuakeC

// Hello World in QuakeC. This should be put somewhere, for instance

// PutClientInServer() in Client.qc.

bprint("Hello World\n");

Back to index

QuickBASIC

REM Hello World in QuickBASIC

PRINT "Hello World!"

END

Back to index

R

# Hello World for R

cat("Hello world\n")

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

RealText

<window width="320" height="160">

<!-- Hello World in RealText  -->

        <font size="12" name="Arial">

        <center>Hello World!</center>

        </font>

</window>

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

REFAL-2

* Hello, World! in REFAL-2

start

entry go

extrn PROUT

go = <prout 'Hello, world!'>

end

Back to index

Regular-Expression

Hello World as a regular expression.

Replaces everything with "Hello World".

For use with vi, sed, etc.

Search String :  ^.*$

Replace String: '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

RPG-IV

H* Hello World in RPG IV

D msg             S             32    inz(*blank)

D cmd             S             64

C                   eval      msg = 'Hello World'

C     msg           dsply

C                   eval      cmd = 'DLYJOB DLY(30)'

C                   call      'QCMDEXC'

C                   parm                    cmd

C                   parm      64            len              15 5

C                   eval      *inlr = *on

Back to index

RSL

// Hello World in RSL (RS-Bank Language)

[Hello World!];

Back to index

Ruby

# Hello World in Ruby

puts "Hello World!"

Back to index

S-Plus

# Hello World for S-Plus

cat("Hello world\n")

Back to index

SAL

// Hello World in SAL

proc main()

    MsgBox("Hello from SAL", "Hello, World!")

end

Back to index

SApp

comment: Hello World in SApp

popup "Hello ## World!" ,

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

Seed7

# Hello World in Seed7

$ include "seed7_05.s7i";

const proc: main is func

  begin

    writeln("Hello World!");

  end func;

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

SilverBasic

//Hello World in SilverBasic

PRINT "Hello World!"

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

SMIL

<!-- Hello World in SMIL -->

<smil>

 <head>

  <layout>

   <root-layout width="300" height="160" background-color="white"/>

   <region id="text_region" left="115" top="60"/>

  </layout>

 </head>

 <body>

  <text src="data:,Hello%20World!" region="text_region">

   <param name="fontFace" value="Arial"/>

  </text>

 </body>

</smil>

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

sqlplus

-- Hello World in Oracle SQL*Plus

prompt 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
/xli

nk">

  <title>Hello World</title>

    <g>

      <text x="10" y="50">Hello World</text>

      <animate attributeName='opacity' values='0;1' dur='4s' fill='freeze' b
egin

="0s"/>

    </g>

</svg>

Back to index

TACL

Comment -- Hello World for TACL (TAndem Command Language)

ECHO Hello World

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 ?:=? 揌ello 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

TECO

!Hello World in TECO

!The $ symbol below wouldn't actually be a printing character -

!it's the [escape] character, \u001b!

FTHello 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

TI-BASIC-Extended

10 REM Hello World in Extended BASIC

20 REM for the TI99 series computer

100 CALL CLEAR :: DISPLAY AT(10,5):"Hello World" :: ACCEPT AT(20,4):A$

Back to index

TI-BASIC

10 REM Hello World in TI BASIC

20 REM for the TI99 series computer

100 CALL CLEAR

110 PRINT "HELLO WORLD"

120 GOTO 120

Back to index

Tk

#!/usr/local/bin/wish -f

# Hello World in Tk

label .l -text "Hello World!"

pack .l

Back to index

troff

\"      "Hello, world!" in troff

Hello, world!

Back to index

TSO-CLIST

PROC 0

/* Hello World in TSO CLIST */

write Hello World!

Back to index

Turing-Machine

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

unlambda

# Hello World in unlambda

`r```````````.H.e.l.l.o. .w.o.r.l.di

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-11-Macro

; Hello World in VAX-11 MACRO

        .title hello

term_name:      .ascid /SYS$INPUT/

term_chan:      .blkw 1

out_iosb:       .blkq 1

msg:    .asciz  /Hello, world!/

        .entry start,0

        ; establish a channel for terminal I/O

        $assign_s devnam=term_name,-

                chan=term_chan

        blbc r0,error

        ; queue the I/O request

        $qio_s chan=term_chan,-

                func=#io$_writevblk,-

                iosb=out_iosb,-

                p1=msg,-

                p2=#13

        blbc r0,error

        $exit_s ; normal exit

error:  halt ; error condition

        .end start

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

Visual-FoxPro

*Hello World in Microsoft Visual FoxPro 5-9

? "Hello World!"

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

VisualBasic.NET

'Hello World in Visual Basic .NET (VB.NET)

Imports System.Console

Class HelloWorld

    Public Shared Sub Main()

        WriteLine("Hello, world!")

    End Sub

End Class

Back to index

VMS-DCL

$ ! Hello World in Digital Command Language for the VMS operating system

$ 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

X++

// Hello World in X++ (Microsoft Axapta)

class classHelloWorld

{

}

static void main(args Args)

{

    dialog   dialog;

    ;

    dialog = new dialog();

    dialog.addText("Hello World!");

    dialog.run();

}

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

XQuery

(: Hello World with XQuery :)

let $i := "Hello World"

return $i

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" p
age-

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</f
o:bl

ock>

        </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/Transfor
m">

    <xsl:template match="/">

        <xsl:value-of select="text/string" />

    </xsl:template>

</xsl:stylesheet>

Back to index

XUL

<?xml version="1.0"?>

<!-- Hello World in XUL -->

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul
">

<label value="Hello World!"/>

</window>

Back to index

Credits

Programs were contributed by:

Wolfram Roesler: C, Modula-2, Basic, Unix shell, Tcl, Tk, GEM, Curses, Texin
fo,

InstallScript, C++ (MFC), C++ (ISO), C#, HDX, SQL (Oracle), English, German

Reinhard Hamann: 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 DCL

Marc Van-Woerkom: C++

Thomas Menschel: 68008 Assembler

Heribert Otten: Cobol, PL/1, JCL

Thomas Piske: BS2000 batch

Thomas Preymesser: 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

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黶chel: 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 JavaSc
ript

), 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

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鰉: Pike

Mariano Corsunsky: Spanish

Larisa Tkachenko, Leandro: 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

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 (command line version): 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鋎ler: PureBasic

Alan Eliasen: Frink

Thomas Marcks von W黵temberg: 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 (normal and simple version)

Laurent Tonnelier: SVG

Sascha Welter: AppleScript

Aaron Duley: LabVIEW

Andrey V. Sokolov: Russian

Dennis Melentyev: Ukrainian

George D: MIPS Assembler, Visual FoxPro

Shawn Lucas: G Code

Steve Gwilt, Christine Smith, Rissa Webb: TACL

Stephen Stainless: TI BASIC, TI Extended BASIC

Joan Puigcerver: Catalan

Eugene Ivanov: Win32 Assembler

Darren Debono: VP Assembler

simXa: MAMASH, Hebrew

Tom Kaitchuck: Nice

Jozef Knepp: DML

David Gibbs: RPG IV

Per "Muusu" Lindstrand: MATLAB, MDP, QuakeC

Larry Burton: Forth

Doug Gwyn: troff, MACRO-11

John Bito: TECO

John Park: MEL

Yutaka Kachi, Hiroe Shibata: Japanese

Marcelo Toledo: Emacs Lisp

josh.go: Regular expression

Ric Ford: HyperTalk

Erik Hansen: Cocoa Obj-C

Wesley Cabral: Dataflex Procedural

Klaus Bailly: Finnish

Steven Fisher: Prograph

Steve Ardis: Groovy

Francisco Fernandez: IDC, ASP-VBE

Lukas Jaun: Assembler (MMIX)

Hemant Dabral: PDF, RealText, SMIL

Vasil Bachvarov: Bulgarian

Alexander Toresson: Euphoria

flyingboz: AutoIT3

Jose Taonga: Malagasy

Olivier "oliv3" Girondel: Erlang (fixed)

Grog Grueslayer: Darkbasic

Toby Thain: VAX-11 Macro, Assembler (PDP-8), Assembler (DG Nova)

E.S. van der Meer: Elliott Autocode

Morten Wegelbye Nissen: Danish

Marian Bonda: qore

Zeal Li: Chinese

Farid Effendiyev: Azeri

Morten Lehrman: Ingres ABF

Vadim Konovalov: PL/1 (fixed)

Nikolay Malakhov: sqlplus

Seth Johnson: ColdFusion

Alexander Bogdanov: REFAL-2, MuLisp

Michael Boyarsky: Console Postscript

Vassili Goussakov: Macromedia Flex

George Miroshnikov: XUL

Chris Leung: SilverBasic

Iker Mancenido: Basque/Euskara

Zoltan Arpadffy: Hungarian, Serbian, Bosnian, Croatian

Randy Sugianto: Indonesian

Clint Dalrymple: Fj鰈nir

Michail Michailidis: Greek

Marat Buharov: C/AL

Juan Carlos Castro y Castro: Asterisk

Elie De Brauwer: Assembler (Linux)

Markus Schmaus: Ruby

Henrik Bengtsson: R, S-Plus

Jeffrey Creem: Ada

Nathan Keir: LSL

Michal Nowakowski: Polish

Marko Meza: Slovenian

Vasile V. Alaiba: Romanian

Lorenz Schallinger: Visual Basic .NET

Jack Doerner: Liberty BASIC

Diptesh Ghosh: LaTeX, Maple

Thomas Mertes: Seed7

Sam Birch: SApp

Cindi Knox: mIRC (script and alias versions)

Thomas Kilgore: unlambda, Ook, m4, Jako

Laurent Schneider: XQuery

Hovik Melikyan: Armenian

Sudarshan HS: Kannada, Hindi

Rusak Maxim: Kylix

MooLim Lee: Korean

Evgeniy Polkin: HQ9+, HQ9++

Wikipedia: Piet

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
--
     心码合一,心中有代码,码中存我心;维码无心,心动即码动,代码表我心;
     维心无码,视万物皆空,知万千变化;无码无心,行如若无规,动全依所意


※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.111.149]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店