Hallo Welt

Hallo, Welt! oder auch "Hello World!" (engl.), ist ein bekanntes Beispielprogramm, das am Anfang fast jedes Programmierkurses vorkommt.

Das fertige Computerprogramm gibt lediglich den Text "Hello world!" (oder etwas ähnliches) auf dem Bildschirm aus. Dieses Programm soll dem angehenden Programmierer zeigen, was alles für ein vollständiges Programm (in der betreffenen Programmiersprache) benötigt wird, und einen ersten Einblick in die Syntax geben.

Table of contents
1 Line-oriented (aka Console)
2 Graphical User Interfaces - as traditional applications
3 Graphical User Interfaces - Webbrowser basiert
4 Exotische Programmiersprachen (auch esoterisch genannt)
5 :
6 Textauszeichnungssprachen

Line-oriented (aka Console)

Ada

   with Ada.Text_Io; use Ada.Text_Io;
   procedure Hallo is
   begin
      Put_Line ("Hallo, Welt!");
   end Hallo;

Assembler (x86 CPU, DOS, TASM syntax)

   MODEL SMALL
   IDEAL
   STACK 100H

DATASEG HW DB 'Hallo, Welt!$'

   CODESEG
       MOV AX, @data
       MOV DS, AX
       MOV DX, OFFSET HW
       MOV AH, 09H
       INT 21H
       MOV AX, 4C00H
       INT 21H
   END

AWK

   BEGIN { print "Hallo, Welt!" }

BASIC

   Traditionelles, unstrukturiertes BASIC
   10 PRINT "Hallo, Welt!"
   20 END

Eher modernes, strukturiertes BASIC print "Hallo, Welt!"

BCPL

   GET "LIBHDR"

LET START () BE $( WRITES ("Hallo, Welt!*N") $)

BeanShell

   print("Hallo, Welt!");

C

   #include 

int main(void) { printf("Hallo, Welt!\\n"); return 0; }

C++

   #include 

int main() { std::cout << "Hallo, Welt!\\n"; }

C#

   class HalloWeltApp {
    public static void Main() {
       System.Console.WriteLine("Hallo, Welt!");
    }
   }

COBOL

   IDENTIFICATION DIVISION.
   PROGRAM-ID.     HALLO-WELT.

ENVIRONMENT DIVISION.

DATA DIVISION.

PROCEDURE DIVISION. DISPLAY "Hallo, Welt!". STOP RUN.

Common LISP

   (format t "Hallo Welt!~%")

Eiffel

   class HALLO_WELT

creation make feature make is local io:BASIC_IO do !!io io.put_string("%N Hallo, Welt!") end -- make end -- class HALLO_WELT

Erlang

       -module(Hallo).
       -export([Hallo_Welt/0]).

Hallo_Welt() -> io:fwrite("Hallo, Welt!\\n").

Forth

   ." Hallo, Welt!" CR

Fortran

      PROGRAM HALLO
      WRITE(*,10)
   10 FORMAT('Hallo, Welt!')
      STOP
      END

Io

   "Hallo, Welt" print

Iptscrae

   ON ENTER {
       "Hallo, " "Welt!" & SAY
   }

Java

   public class Hallo {
       public static void main(String[] args) {
           System.out.println("Hallo, Welt!");
       }
   }

Lua

   print "Hallo, Welt!"

MIXAL

    TERM    EQU    19          the MIX console device number
            ORIG   1000        start address
    START   OUT    MSG(TERM)   output data at address MSG
            HLT                halt execution
    MSG     ALF    "MIXAL"
            ALF    " HELL"
            ALF    "O WOR"
            ALF    "LD   "
            END    START       end of the program

MS-DOS batch

   @echo off
   echo Hallo, Welt!

OCaml

   let main () =
      print_endline "Hallo Welt!";;

OPL

   PROC Hallo:
     PRINT "Hallo, Welt"
   ENDP

Pascal

   program Hallo(output);
   begin
       writeln('Hallo, Welt!');
   end.

Perl

   print "Hallo, Welt!\\n";

PHP

   

Pike

   #!/usr/local/bin/pike
   int main() {
       write("Hallo, Welt!\\n");
       return 0;
   }

PL/1

   Test: procedure options(main);
      declare My_String char(20) varying initialize('Hallo, Welt!');
      put skip list(My_String);
   end Test;

Prolog

   ?- write("Hallo, Welt!"), nl.

Python

   print "Hallo, Welt!"

REXX

   say "Hallo, Welt!"

Ruby

   print "Hallo, Welt!\\n"

Scheme

   (display "Hallo, Welt!")
   (newline)

sed

Benötigt mindestens eine Zeile als Eingabe:

   sed -ne '1s/.*/Hallo, Welt!/p'

Smalltalk

   Transcript show: 'Hallo, Welt!'

SML

   print "Hallo, Welt!\\n";

SNOBOL

       OUTPUT = "Hallo, Welt!"
   END

SQL

   select "Hallo, Welt!" as message;

StarOffice Basic

   sub main
   print "Hallo, Welt"
   end sub

Tcl

   puts "Hallo, Welt!"

TI-BASIC

   :Disp "Hallo, Welt!"

Turing

   put "Hallo, Welt!"

Unix-Shell

   echo 'Hallo, Welt!'

Graphical User Interfaces - as traditional applications

Visual Basic

   MsgBox "Hallo, Welt!"

Gambas

   PUBLIC SUB Form_Enter()
   PRINT "Hallo Welt"
   END

C++ bindings for GTK graphics toolkit

   #include 
   #include 
   #include 
   #include 
   using namespace std;

class HalloWelt : public Gtk::Window { public: HalloWelt(); virtual ~HalloWelt(); protected: Gtk::Button m_button; virtual void on_button_clicked(); };

HalloWelt::HalloWelt() : m_button("Hallo, Welt!") { set_border_width(10); m_button.signal_clicked().connect(SigC::slot(*this, &HalloWelt::on_button_clicked)); add(m_button); m_button.show(); }

HalloWelt::~HalloWelt() {}

void HalloWelt::on_button_clicked() { cout << "Hallo, Welt!" << endl; }

   int main (int argc, char *argv[]) {
       Gtk::Main kit(argc, argv);
       HalloWelt HalloWelt;
       Gtk::Main::run(HalloWelt);
       return 0;
   }

Windows API (in C)

   #include 

LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);

char szClassName[] = "MainWnd"; HINSTANCE hInstance;

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND hwnd; MSG msg; WNDCLASSEX wincl;

hInstance = hInst; wincl.cbSize = sizeof(WNDCLASSEX); wincl.cbClsExtra = 0; wincl.cbWndExtra = 0; wincl.style = 0; wincl.hInstance = hInstance; wincl.lpszClassName = szClassName; wincl.lpszMenuName = NULL; //No menu wincl.lpfnWndProc = WindowProcedure; wincl.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); //Color of the window wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); //EXE icon wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION); //Small program icon wincl.hCursor = LoadCursor(NULL, IDC_ARROW); //Cursor if (!RegisterClassEx(&wincl)) return 0;

hwnd = CreateWindowEx(0, //No extended window styles szClassName, //Class name "", //Window caption WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, //Let Windows decide the left and top positions of the window 120, 50, //Width and height of the window, NULL, NULL, hInstance, NULL);

//Make the window visible on the screen ShowWindow(hwnd, nCmdShow); //Run the message loop while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; }

LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; switch (message) { case WM_PAINT: hdc = BeginPaint(hwnd, &ps); TextOut(hdc, 15, 3, "Hallo, Welt!", 13); EndPaint(hwnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, message, wParam, lParam); } return 0; }

Java

   import java.awt.*;
   import java.awt.event.*;

public class HalloFrame extends Frame { HalloFrame(String title) { super(title); } public void paint(Graphics g) { super.paint(g); java.awt.Insets ins = this.getInsets(); g.drawString("Hallo, Welt!", ins.left + 25, ins.top + 25); } public static void main(String args []) { HalloFrame fr = new HalloFrame("Hallo");

fr.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit( 0 ); } } ); fr.setResizable(true); fr.setSize(500, 100); fr.setVisible(true); } }

TclTk

   label .label1 -text "Hallo Welt"
   pack .label1

Graphical User Interfaces - Webbrowser basiert

Java applet

Java applets funktionieren in Verbindung mit HTML.

   
   
   Hallo Welt
   
   

HalloWelt Program says:

   
   

import java.applet.*; import java.awt.*;

public class HalloWelt extends Applet { public void paint(Graphics g) { g.drawString("Hallo, Welt!", 100, 50); } }

JavaScript, aka ECMAScript

JavaScript ist ein Skriptsprache, die insbesondere in HTML-Dateien verwendet wird. Der nachfolgende Kode kann in HTML-Quelltext eingebaut werden:

   

Hallo Welt Example

An easier method uses JavaScript implicitly, calling the reserved alert function. Cut and paste the following line inside the .... HTML tags.

   Hallo Welt Example

An even easier method involves using popular browsers' support for the virtual 'javascript' protocol to execute JavaScript code. Enter the following as an Internet address (usually by pasting into the address box):

   javascript:alert('Hallo, Welt!')

XUL

   
   
   
   

Exotische Programmiersprachen (auch esoterisch genannt)

23

   30,14,16,101,16,108,16,32,16,111,16,108,1,12,16,72,16,108,16,111,16,87,16,114,16,100,16,33

4DL

See [1] for a Hallo, Welt program in 4DL.

Ale

   \\/>>>>>>\\+\\<<<\\+!\\>>\\+\\<<<<\\-\\<\\-!\\>>>\\+\\<<<\\-!!+++!\\/\\-\\/>>>>>\\+\\<<\\+\\<\\+!---!\\>>>
   \\+\\>\\+\\<<<\\-\\<<<\\-!\\>>>\\-!\\<<\\+\\<\\+!\\>\\-\\>\\-!\\>\\-!\\/\\-/>>>>>\\+\\<<<<<\\+!\\/\\-\\/>>>\\+\\<<\\+!

BDAMD

Note: this actually prints "HI" instead of "Hallo, Welt".

   84 > 84 > 84 > 84 > 84 > 84 > 84 > 85
                                      \\/
   85 < 86 < 86 < 86 < 86 < 86 < 0E < 66
   \\/                       /\\
   84 > 84 > 0C > 8C > E5 > 0F   84 > 85
                       \\/        /\\   \\/
   85 < 86 < 86 < 3E < 0E   84 > 83 < 86
   \\/                       /\\   \\/
   84 > 84 > 84 > 84 > 84 > 0F   84 > 85
                                      \\/
   00 < 00 < 00 < B6 < 0E < B6 < 0E < 86

Beatnik

Note: this actually prints "Hi" instead of "Hallo, Welt".

   Baa, badassed areas!
   Jarheads' arses
         queasy nude adverbs!
       Dare address abase adder? *bares baser dadas* HA!

Equalize, add bezique, bra emblaze. He (quezal), aeons liable. Label lilac "bulla," ocean sauce! Ends, addends, duodena sounded amends.

Befunge

"!dlrow olleH">v

, ^_@

Borg

   main: "Hallo, Welt!\\n">out :

Brainfuck

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

Chef

   Ingredients.
   72 g haricot beans
   101 eggs
   108 g lard
   111 cups oil
   32 zucchinis
   119 ml water
   114 g red salmon
   100 g dijon mustard
   33 potatoes

Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish.

Serves 1.

Choon

   AGb-A#A#+A+%A#DF-AC#

Condit

   when a=0 then put "Hallo, Welt!" set a=1

Homespring

   Universe of bear hatchery says Hallo. Welt!.
    It   powers     the marshy things;
   the power of the snowmelt overrides.

HQ9+

   H

INTERCAL

   PLEASE DO ,1 <- #13
   DO ,1 SUB #1 <- #238
   DO ,1 SUB #2 <- #112
   DO ,1 SUB #3 <- #112
   DO ,1 SUB #4 <- #0
   DO ,1 SUB #5 <- #64
   DO ,1 SUB #6 <- #238
   DO ,1 SUB #7 <- #26

DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP

Malbolge

   (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5
   [m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\\6543W10/.R,+O<

Mouse

   "HALLO, WELT.!"
   $$

nouse

   #00:0#0>e>0:0#0>f>0>0:0#0^f>0:0#0+4>0:0#0#h>0:0#0^f>0:0#00:0#0>f
   >0:0#00:0#0?4>0:0#0^1>0:0#0>1>0:0^0

Ook#

   Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
   Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
   Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
   Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
   Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
   Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
   Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
   Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
   Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
   Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
   Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
   Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
   Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
   Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
   Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
   Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
   Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
   Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. 

Oroogu

   d / ("Hallo, Welt!")

Orthogonal

   0   'd' 'l' 'r' 'o' 'w' ' ' ',' 'o' 'l' 'l' 'e' 'h' s   0   c   0   ret

Pandora

   Hallo Welt

forget

come from "Hallo" print "Hallo, " return

come from "Welt" print "Welt !" return

Piet

Please see [1] for a Hallo, Welt program in Piet.

reMorse

Note that this is not a complete "Hallo, Welt!" program.

   - - - ..- ...-.---.;newline
   - - - .-. - ..-.- ...-. ---.;!
   - - - ...- . . -.---.;d
   ----. . . -.---.;l
   ----. . -...---.;r
   ----. -...---.;o
   ----...-.- ..-. ---.;W

RUBE

     0a21646c726f77202c6f6c6c6548
   , :::::::::::::::::::::::::::: ,
    )
    

F O F c =

Sally

   sidefxio
   void main
        print 'H
        print 'e
        print 'l
        print 'l
        print 'o
        print ',

print as char 32 print 'w print 'o print 'r print 'l print 'd print '!

Sansism

              G                                  GGG
   >++++++++++>!+++++++!++++++++++!+++!+##!!!!##-G+G
   G.+++++++++++++++##!!##.++!.+++..+++++++.+!.++! G
   G!.+++.------.--------.!+.!.G                  GG

Shelta

   [ `Hallo, _32 `Welt! _13 _10 ] \\15 outs \\0 halt

SMITH

   ; Hallo, Welt in SMITH - version 2 (loop)
   ; R0 -> index into string (starts at R10)
   ; R2 -> -1
     MOV R0, 10
     MOV R2, 0
     SUB R2, 1
     MOV R[R0], "Hallo, Welt!"
     MOV TTY, R[R0]
     SUB R0, R2
     MOV R1, R0
     SUB R1, 23
     NOT R1
     NOT R1
     MUL R1, 8
     COR +1, -7, R1

Toadskin

   :V+++++;:XVV;:v-----;:xvv;XXXXXXX++.>XV.XX++++.+++.v-.x++.

TRANSCRIPT

   In the House
   You are inside the small blue house on Pine St. The floor is carpeted and the walls are
   paneled in a light coloured wood. The door is to the north.
   Julie is here.

>JULIE, Hallo, Welt! Julie doesn't respond.

>X JULIE Julie is a twentysomething woman with short brunette hair.

>QUIT

Unlambda

   `
   ``si`k``s.H``s.e``s.l``s.l``s.o``s. 
   ``s.w``s.o``s.r``s.l``s.d``s.!``sri
   ``si``si``si``si``si``si``si``si`ki

var'aq

Note: actually prints "What do you want, universe?" in Klingon.

   ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name
   nuqneH

*W

   Functions:
   || No functions for this program !!
   Stuff:
           1/Hallo is chrs!
           1/Sz, 1/Total are all cplx!
   Text:
   || Initialize the data !!
           Hallo < "Hallo, Welt!"!
           Size Hallo > Sz!
           Total < 0!
   || Take the string length and multiply by 100 !!
           - Size - 0 Total > Total %10000!
   || Print and delete a character that many times !!
           &       WELT < FCHRS (Hallo)!
           &       Hallo < - Hallo FCHRS (Hallo)!
           &&      %Total!
   || Add a newline !!
           WELT < nl!
   :Endtext

Whenever

   1 print("Hallo Welt!");

Whitespace

Please see [1] for a Hallo, Welt program in Whitespace.

XS

   Hallo Welt

Textauszeichnungssprachen

Die folgenden Sprachen sind keine Programmiersprachen, sondern Textauszeichnungssprachen, also Sprachen, mit denen man einen im Computer gespeicherten Text für die Ausgabe auf dem Bildschirm oder mit dem Drucker formatieren kann. Analog zum "Hallo Welt!"-Programm ist ein "Hallo Welt!"-Dokument in einer dieser Sprachen ein Beispieldokument, das nur den Text "Hallo Welt" enhält.

ASCII

   Hallo, Welt!
oder in hexadezimaler Schreibweise:
   48 61 6C 6C 6F 2C 20 57 65 6C 74 21

HTML

   
   
     
       Hallo, Welt!
       
     
     
       <p>
         Hallo, Welt!
       </p>
     
   

PostScript

   /Courier findfont
   24 scalefont
   setfont
   100 100 moveto
   (Hallo Welt!) show
   showpage

TeX

   \\font\\HW=cmr10 scaled 3000
   \\leftline{\\HW Hallo Welt}
   \\bye





Websites: Tagoror | Guajara | Tacoronte Guia | Todo Gomera | Deranet | Radioaficionados | Cinebso | Mi Buscador

Enciclopedia On Line: GNU FDL.