Hello world (programma)
Een Hello world-programma is een eenvoudig computerprogramma dat niets anders doet dan de tekst "Hello world" op het scherm tonen.
Een dergelijk programma wordt meestal als eerste voorbeeld gebruikt in een cursus programmeren in een bepaalde programmeertaal of -omgeving. Het wordt tevens gebruikt om na te gaan of de nodige basisprogrammeeromgeving aanwezig is en functioneert. Dit basisvoorbeeld wordt vervolgens in de cursus gebruikt als opstapje naar het schrijven van geavanceerdere programma's. In het verlengde hiervan gebruiken ook verschillende cursussen en boeken van computertalen een Hello world-variant als eerste kennismaking en startvoorbeeld.
Voor zover bekend werd de eerste versie van Hello world gebruikt door de makers van de programmeertaal C om hun programmeertaal te laten zien. Het toont de basale geschiktheid van een programmeertaal aan om via een uitvoerapparaat met een gebruiker te communiceren.
In 1974 kwam het voor in een intern memorandum van Bell Labs door Brian Kernighan: Programming in C: A Tutorial (Programmeren in C: Een leertekst).[1] Hierin werd het aangeduid als "een eenvoudig C-programma".
main( ) {
printf("hello, world");
}
De taal C was in die tijd nog volop in ontwikkeling, en toen het programma in 1978 voor het eerst gepubliceerd werd, in The C programming language (De programmeertaal C) van Kernigan & Ritchie[2], was het als volgt geworden:
#include <stdio.h>
main()
{
printf("hello, world\n");
}
Sindsdien is het gebruikelijk een nieuwe programmeertaal zo voor eerste kennismaking te presenteren. De lijst die nu volgt, geeft ook (arbitraire) uitwerkingen in programmeertalen die al eerder dan C bestonden.
'Hello world' in verschillende programmeertalenBewerken
ABAPBewerken
REPORT HELLO.
WRITE 'Hello world'.
Active Server PagesBewerken
Korte notatie:
<%="Hello world"%>
Lange notatie:
<%
Response.Write("Hello world")
%>
Algol 68Bewerken
BEGIN print (("Hello world", new line)); END
APLBewerken
∇ HELLO [1] ’HELLO WORLD’ ∇
AutoIt3Bewerken
Msgbox (0, "Hello world", "Hello world" )
AWKBewerken
BEGIN { print "Hello world" }
BASICBewerken
10 PRINT "Hello world"
BetaBewerken
(# do 'Hello world' -> putline #);
BooBewerken
print "Hello world"
BrainfuckBewerken
++++++++++[>+++++++>++++++++++>+++>+
<<<<-]>++.>+.+++++++..+++.>++.<<++++
+++++++++++.>.+++.------.--------.>+
.>.
CBewerken
#include <stdio.h>
int main(void)
{
printf("Hello world\n");
return 0;
}
C/ALBewerken
message('Hello world');
C++Bewerken
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world" << endl;
return 0;
}
C#Bewerken
class HelloWorld {
static void Main() {
System.Console.WriteLine("Hello world");
}
}
CamlBewerken
print_string "Hello world"; flush std_out;;
CleanBewerken
module hello Start = "Hello world"
ClipperBewerken
? "Hello world"
of
@ 3,20 SAY "Hello world"
COBOLBewerken
Mogelijk voorbeeld volgens de COBOL '68, COBOL '74 en COBOL '85 (ANSI) standaarden:
000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. HELLOWORLD.
000030 DATE-WRITTEN. 10/08/04 00:04.
000040 AUTHOR. UNKNOWN AUTHOR.
000050
000100 ENVIRONMENT DIVISION.
000200 CONFIGURATION SECTION.
000210 SOURCE-COMPUTER. MAINFRAME.
000220 OBJECT-COMPUTER. MAINFRAME.
000230
000300 DATA DIVISION.
000310 WORKING-STORAGE SECTION.
000320 01 TEXT PIC X(12)
000330 VALUE "HELLO, WORLD".
000410
000500 PROCEDURE DIVISION.
000600 MAIN-LOGIC SECTION.
000700 MAIN-LOGIC-BEGIN.
000710 DISPLAY TEKST.
000600 MAIN-LOGIC-END.
000700 STOP RUN.
Niet al deze code hoeft in alle gevallen gebruikt te worden. In de COBOL 2002 (ISO) standaard zijn bepaalde taalelementen zelfs afgeschaft. Onderstaand programma zal in COBOL 2002 hetzelfde resultaat hebben:
PROGRAM-ID. HELLOWORLD.
DATE-WRITTEN. 10/18/12 12:50.
AUTHOR. UNKNOWN AUTHOR.
PROCEDURE DIVISION.
DISPLAY "Hello world"
STOP RUN.
CPS/PL1Bewerken
PUT LIST ("Hello world");
DBewerken
import std.stdio;
public int main(in char[][] args) {
writefln("Hello world");
return 0;
}
ExpectBewerken
send_user "Hello world\n";
F#Bewerken
printfn "Hello World"
FortranBewerken
PROGRAM HELLO
WRITE (*,100)
STOP
100 FORMAT ('HELLO, WORLD' /)
END
- of -
PROGRAM HELLO
PRINT *,'HELLO, WORLD'
END
Merk op dat onderkast (kleine letters) aanvankelijk niet werd gebruikt.
GMLBewerken
draw_text(0,0,"Hello world");
- of -
show_message("Hello world");
HaskellBewerken
main :: IO ()
main = putStrLn "Hello world"
GDScriptBewerken
func _ready():
print("Hello world")
Google GoBewerken
package main
import "fmt"
func main() {
fmt.Println("Hello world")
}
INTERCALBewerken
DO ,1 <- #13 PLEASE DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #108 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #194 DO ,1 SUB #7 <- #48 PLEASE DO ,1 SUB #8 <- #22 DO ,1 SUB #9 <- #248 DO ,1 SUB #10 <- #168 DO ,1 SUB #11 <- #24 DO ,1 SUB #12 <- #16 DO ,1 SUB #13 <- #162 PLEASE READ OUT ,1 PLEASE GIVE UP
JavaBewerken
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
JavaScriptBewerken
document.write('Hello world');
Of:
console.log('Hello world');
Of:
alert('Hello world');
Of:
document.body.innerHTML = 'Hello world';
JavaScript BookmarkletBewerken
javascript:'Hello world'
of
javascript:alert("Hello world")
Javascript Node.js HTTP-serverBewerken
var http = require('http');
http.createServer(
function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}
).listen(8000);
console.log('Server running at http://localhost:8000/');
LispBewerken
(print "Hello world\n")
Liberty BASICBewerken
notice "Hello world"
LuaBewerken
print("Hello World")
MalbolgeBewerken
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#" `CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
OberonBewerken
MODULE Hello;
IMPORT
Out;
PROCEDURE Do*;
BEGIN
Out.String("Hello world");
Out.Ln
END Do;
END Hello.
Objective-CBewerken
#include <Foundation/Foundation.h>
int main (int argc, const char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello world");
[pool drain];
return 0;
}
PascalBewerken
program helloworld(output);
begin
writeln('Hello world')
end.
PerlBewerken
print "Hello world\n";
PHP: Hypertext PreprocessorBewerken
Korte notatie:
<?="Hello world"?>
Lange notatie:
<?php
echo "Hello world";
?>
PietBewerken
PL/1Bewerken
Hello: proc options(main); put list ('Hello world'); end Hello;
PL/SQLBewerken
begin
dbms_output.put_line('Hello world');
end;
PrologBewerken
write('Hello world'), nl.
PythonBewerken
Python 2Bewerken
print "Hello world"
Python 3Bewerken
print("Hello world")
قلبBewerken
(قول "مرحبا يا عالم!")
RPGBewerken
I 'HELLO WORLD' C HELLO C DSPLY HELLO C RETRN
RubyBewerken
print "Hello world"
RustBewerken
fn main() {
println!("Hello World!");
}
SASBewerken
data _null_; put "Hello world"; run;
of:
%put Hello world;
ScalaBewerken
Een versie die in een command-line-interface gestart kan worden:[3]
// Hello World in Scala
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
Een versie met een grafische gebruikersomgeving:
import swing._
object HelloWorld extends SimpleSwingApplication {
def top = new MainFrame {
title = "Hello world"
contents = new Button {
text = "Click Me!"
}
}
}
Seed7Bewerken
$ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello world"); end func;
ShelltalenBewerken
echo Hello world
Deze vorm werkt in (bijna) alle shelltalen: de Bourne-shell, korn-shell, Bourne again shell, POSIX-shell, C-shell en de DOS- en Windows-shells. In sommige shelltalen kan het volgende alternatief gebruikt worden:
printf "Hello world\n"
SwiftBewerken
print("Hello, World!")
TclBewerken
puts "Hello world"
Visual BasicBewerken
MessageBox.show("Hello world")
of
MsgBox("Hello world")
of
Debug.print("Hello world")
Visual Basic scriptBewerken
MsgBox("Hello world")
Visual DialogScriptBewerken
info Hello world
WebAssembly Text FormatBewerken
Door het importeren van "console.log" van javascript
(module
(import "console" "log" (func $log (param i32) (param i32)))
(import "js" "mem" (memory 1))
(data (i32.const 0) "Hello World") ;; string in global memory schrijven
(func (export "helloWorld")
i32.const 0
i32.const 11
call $log
)
)
Het bovenstaande kan dan na compileren naar een .wasm bestand gebruikt worden in javascript:
function consoleLogString(offset, length) {
var bytes = new Uint8Array(memory.buffer, offset, length);
var string = new TextDecoder('utf8').decode(bytes);
console.log(string);
}
var memory = WebAssembly.Memory({initial: 1});
var importObject = {
console: {
log: consoleLogString
}, js: {
mem: memory
}
};
WebAssembly.instantiateStreaming(fetch("log.wasm"), importObject)
.then(obj => {
obj.instance.exports.helloWorld();
});
Hello world in verschillende opmaaktalenBewerken
HTMLBewerken
<html>
<head>
<title>
Hello world
</title>
</head>
<body>
<p>Hello world</p>
</body>
</html>
Of zonder titel:
<html>
<body>
<p>Hello world</p>
</body>
</html>
LaTeXBewerken
\documentclass{article}
\begin{document}
Hello world
\end{document}
XMLBewerken
<?xml version="1.0"?>
<tekst>Hello world</tekst>
Externe linkBewerken
Bronnen, noten en/of referenties
|