|
|
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.
DATASEG
HW DB 'Hallo, Welt!$'
Eher modernes, strukturiertes BASIC
print "Hallo, Welt!"
LET START () BE
$(
WRITES ("Hallo, Welt!*N")
$)
int main(void) {
printf("Hallo, Welt!\\n");
return 0;
}
int main() {
std::cout << "Hallo, Welt!\\n";
}
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY "Hallo, Welt!".
STOP RUN.
creation
make
feature
make is
local
io:BASIC_IO
do
!!io
io.put_string("%N Hallo, Welt!")
end -- make
end -- class HALLO_WELT
Hallo_Welt() -> io:fwrite("Hallo, Welt!\\n").
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;
}
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;
}
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);
}
}
Java applets funktionieren in Verbindung mit HTML.
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 ist ein Skriptsprache, die insbesondere in HTML-Dateien verwendet wird. Der nachfolgende Kode kann in HTML-Quelltext eingebaut werden:
See [1] for a Hallo, Welt program in 4DL.
Note: this actually prints "HI" instead of "Hallo, Welt".
Note: this actually prints "Hi" instead of "Hallo, Welt".
Equalize, add bezique, bra emblaze.
He (quezal), aeons liable. Label lilac "bulla," ocean sauce!
Ends, addends,
duodena sounded amends.
,
^_@
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.
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
forget
come from "Hallo" print "Hallo, " return
come from "Welt" print "Welt !" return
Please see [1] for a Hallo, Welt program in Piet.
Note that this is not a complete "Hallo, Welt!" program.
print as char 32
print 'w
print 'o
print 'r
print 'l
print 'd
print '!
>JULIE, Hallo, Welt!
Julie doesn't respond.
>X JULIE
Julie is a twentysomething woman with short brunette hair.
>QUIT
Note: actually prints "What do you want, universe?" in Klingon.
Please see [1] for a Hallo, Welt program in Whitespace.
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
CODESEG
MOV AX, @data
MOV DS, AX
MOV DX, OFFSET HW
MOV AH, 09H
INT 21H
MOV AX, 4C00H
INT 21H
ENDAWK
BEGIN { print "Hallo, Welt!" }BASIC
Traditionelles, unstrukturiertes BASIC
10 PRINT "Hallo, Welt!"
20 END
BCPL
GET "LIBHDR"
BeanShell
print("Hallo, Welt!");C
#include
C++
#include
C#
class HalloWeltApp {
public static void Main() {
System.Console.WriteLine("Hallo, Welt!");
}
}COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID. HALLO-WELT.
Common LISP
(format t "Hallo Welt!~%")
Eiffel
class HALLO_WELT
Erlang
-module(Hallo).
-export([Hallo_Welt/0]).Forth
." Hallo, Welt!" CR
Fortran
PROGRAM HALLO
WRITE(*,10)
10 FORMAT('Hallo, Welt!')
STOP
ENDIo
"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 programMS-DOS batch
@echo off
echo Hallo, Welt!
OCaml
let main () =
print_endline "Hallo Welt!";;OPL
PROC Hallo:
PRINT "Hallo, Welt"
ENDPPascal
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
int main (int argc, char *argv[]) {
Gtk::Main kit(argc, argv);
HalloWelt HalloWelt;
Gtk::Main::run(HalloWelt);
return 0;
}Windows API (in C)
#include
Java
import java.awt.*;
import java.awt.event.*;
TclTk
label .label1 -text "Hallo Welt"
pack .label1
Graphical User Interfaces - Webbrowser basiert
Java applet
JavaScript, aka ECMAScript
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
Ale
\\/>>>>>>\\+\\<<<\\+!\\>>\\+\\<<<<\\-\\<\\-!\\>>>\\+\\<<<\\-!!+++!\\/\\-\\/>>>>>\\+\\<<\\+\\<\\+!---!\\>>>
\\+\\>\\+\\<<<\\-\\<<<\\-!\\>>>\\-!\\<<\\+\\<\\+!\\>\\-\\>\\-!\\>\\-!\\/\\-/>>>>>\\+\\<<<<<\\+!\\/\\-\\/>>>\\+\\<<\\+!
BDAMD
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
Baa, badassed areas!
Jarheads' arses
queasy nude adverbs!
Dare address abase adder? *bares baser dadas* HA!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
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
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#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
Piet
reMorse
- - - ..- ...-.---.;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 ',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, R1Toadskin
:V+++++;:XVV;:v-----;:xvv;XXXXXXX++.
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.
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
~ 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!
:EndtextWhenever
1 print("Hallo Welt!");Whitespace
XS
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
PostScript
/Courier findfont
24 scalefont
setfont
100 100 moveto
(Hallo Welt!) show
showpage
TeX
\\font\\HW=cmr10 scaled 3000
\\leftline{\\HW Hallo Welt}
\\bye