# Liste von Hallo-Welt-Programmen/Höhere Programmiersprachen

Dies ist eine Liste von Hallo-Welt-Programmen für gebräuchliche höhere Programmiersprachen. Für jede Sprache wird vorgeführt, wie man in ihr die einfache Aufgabe löst, den Text „Hallo Welt!“ auf den Bildschirm auszugeben. Weitere Beispiele für grafische Benutzeroberflächen, Web-Technologien, exotische Programmiersprachen und Textauszeichnungssprachen sind unter Liste von Hallo-Welt-Programmen/Sonstige aufgeführt; Beispiele in Assembler für verschiedene Plattformen finden sich unter Liste von Hallo-Welt-Programmen/Assembler. Das kürzeste Hallo-Welt-Programm liefert die Programmiersprache APL, das zweitkürzeste Forth. Beide kommen dabei ohne Funktions- oder Schlüsselwort aus.

## A
### ActionScript

ActionScript 3.0 und unter Benutzung der DocumentClass:

### Ada

Für eine Erklärung des Programms siehe Ada Programming/Basic in den englischsprachigen Wikibooks.

### Algol 60

Bei der Sprachdefinition von ALGOL 60 wurden die Ein-/Ausgabeanweisungen ausdrücklich von der Standardisierung ausgenommen, so dass deren Implementierungen stark zwischen den Compilern variieren. So wird dieser Text bei der Electrologica X1 (nach vorheriger Wahl des Ausgabekanals mit SELECTOUTPUT(2); ) mit WRITETEXT('('HALLO WELT')'); statt mit dem OUTSTRING-Befehl ausgegeben.

### ASP (Active Server Pages)

oder verkürzt

### AutoHotkey

Variante 1: eine klassische MessageBox
Variante 2: Startet das Programm Notepad und tippt dort „Hallo Welt“ ein

### AutoIt

Variante 1: Startet eine normale Messagebox ohne Titel
Variante 2: Startet den Editor, wartet bis dieser aktiv ist, hält das Fenster während der Ausführung des Send-Befehls aktiv und schreibt Hallo Welt! hinein.

### awk
## B
### BASIC

Traditionelles, unstrukturiertes BASIC:
bzw. im Direktmodus:

### Batch

Die Kommandozeilenbefehlssprache von MS-DOS, PC DOS, DR-DOS und Windows NT.

### Blitz Basic

Ohne GUI:
Mit GUI (BlitzPlus)

### Boo
## C
### C++

Die moderne Version von C++23:

#### C++ mit Qt
### C#

Ausgabe in der Konsole:
Ab C# 9 werden Anweisungen auf oberster Ebene unterstützt. Es wird keine Hauptklasse und keine Hauptmethode benötigt:
Ausgabe in einer Messagebox:

### Component Pascal
## D
### dBASE, FoxPro und Clipper

Ausgabe in der nächsten freien Zeile:
Zeilen- und spaltengenaue Ausgabe:
Ausgabe in einem Fenster:

### Dylan
## E
### Elixir

oder:

### Emacs Lisp (Elisp)

(print ...) akzeptiert noch exotischere Möglichkeiten als BUFFER oder MARKER, die aber zu weit weg von einer simplen Ausgabe führen und deshalb hier nicht aufgeführt werden.
Keine der oben aufgeführten Möglichkeiten schreibt auf STDOUT oder STDERR, weil Elisp innerhalb von Emacs ausgeführt wird, der im typischen Einsatz kein befehlszeilenorientiertes Programm, sondern nach innen orientiert ist. Die am Anfang aufgeführten Varianten, die normalerweise in den Minibuffer schreiben, schreiben aber stattdessen auf STDERR, wenn man Emacs nicht-interaktiv (Option --batch) auf der Befehlszeile startet:
Die Möglichkeit, auf STDOUT auszugeben, gibt es wohl nicht.

### Erlang
## F
### F#
### Forth

Als Wort:
bzw. im Direktmodus:

### FreeBASIC
## G
### GML

oder:

### Groovy
## H
### Haxe

Die daraus kompilierten SWF- oder Neko-Bytecodes sind allein lauffähig. Zur Verwendung von kompiliertem JavaScript zusätzlich nötig:

## J
### J#
### Java

Ausgabe in der Konsole:
Ausgabe in einer Messagebox mit dem GUI-Toolkit Swing:

#### Java-Applet

Java-Applets funktionieren in Verbindung mit HTML.
Die Java-Datei:
Nachfolgend der Code zum Einbau in eine HTML-Seite. Vom W3C empfohlen:
Für Kompatibilität zu sehr alten Browsern (nicht empfohlen):

### Julia
## L
### Lisp

oder
Mit terpri erfolgt Zeilenumbruch.

### Lua

Hierbei können die Klammern um den String allerdings weggelassen werden:

## M
### Matlab

oder
oder
oder

### MS-DOS Batch
## O
### Object Pascal

CLI:
GUI:

### Objective-C

Oder mit Hilfe des Foundation-Frameworks (und in neuer typischer Schreibweise):

#### Objective-C mit Cocoa
### Oz
## P
### Perl 5

oder

#### Perl 5 mit Wx
### Perl 6
### PHP

oder:
oder:
oder alternativ bei CLI-Anwendungen:

### PocketC

Konsole:
Dialogfenster:
In einer Textbox:

### PowerShell

Kommandozeile:
alternativ:
oder:
oder:
Dialogfenster:

### Progress 4GL

oder:

### PureBasic

In der Konsole:
Im Dialogfenster:
Im Fenster:

### Python

Bis einschließlich Version 2 (print ist ein Schlüsselwort):
Ab Version 3 (print ist eine Funktion):
oder mit doppelten Anführungszeichen
Als Easter Egg:

#### Python mit Tkinter
## R
### R

mit der cat-Funktion
oder mit der writeLines-Funktion

### Rust
## S
### SAS

oder (SAS Macro Language)

### Scala

Als interpretierbares Skript:
Unter Ausnutzung des Traits App als übersetzbare Datei:
oder Java-ähnlich als übersetzbare Datei:

### Smalltalk

Mit Enfin Smalltalk:
Mit VisualWorks:

### Spec#
### SQL

Für Oracle-Datenbanken, MySQL
Für IBM-DB2
Für MySQL, PostgreSQL, SQLite und MSSQL

### StarOffice Basic

oder:

### Swift

Swift 1.0:
Swift 2.0:

## V
### Verilog
### Visual Basic, Visual Basic Script und Visual Basic for Applications

…alternativ über den Windows Script Host:

### Visual Basic .NET

Ausgabe in der Konsole:
Ausgabe in einer Messagebox: