Das Hallo-Welt-Programm #
Python #
Folgendes in eine Datei hallo.py
geschrieben:
print('Hallo Welt!')
Das Programm mit python hallo.py
ausgeführt, erscheint
Hallo Welt!
als Antwort.
Java #
Folgendes in eine Datei Hallo.java
geschrieben:
class Hallo {
public static void main(String[] args) {
System.out.println("Hallo Welt!");
}
}
Das Programm mit javac Hallo.java
zu Bytecode kompiliert und mit java Hallo
ausgeführt, erscheint
Hallo Welt!
als Antwort.
Gedanken zu den Unterschieden #
Der typische Programmieranfang, das »Hallo Welt!«-Programm, ist in Python deutlich kürzer ausgedrückt. Python erscheint damit einfacher. Gleichzeitig rangiert Python auf einem höheren Abstraktionslevel, der einiges vom Unterbau versteckt: so fällt als augenscheinlichster Unterschied das Kompilieren zu Byte-Code als eigener Schritt einfach weg.
Die objektorientierte Struktur von Programmen, die in Java (noch) strikt erzwungen wird und mit dem erst einmal inkonsequent erscheinenden statischen main
-Einstiegspunkt eigentlich eine Menge Erklärungen erfordert, ist im Java-Programm deutlich sichtbar: Was bedeuten class
, public
, static
und void
? Wie bekomme ich die Klammern hinter String
, und muss es eigentlich wirklich args
heißen?
Die von C übernommenen Syntax in Java ist ebenfalls erklärungsbedürftig: Warum fehlen die Leerzeichen nach dem Satz System.
? Warum wird out.
nicht großgeschrieben? Warum ln
nach print
? Wo auf der Tastatur ist diese merkürdige geschweifte Klammer?
Fazit #
In der Schule, die immer breitere Kreise von Menschen mit Programmieren in Berührung bringt, scheint der Verzicht auf Durchwandern des Unterbaus und traditionelle C-Syntax geboten. Eine Reise, von der zu erwarten ist, dass sie weit führt, mag sinnvollerweise umfassender vorbereitet sein: Java in einem Studium mag da näher liegen. Doch lässt sich auch diese Reise mit Python beginnen, und hier liegen der erste Überblick und auch der erste Erfolg (das erste selbstgeschriebene Programm) näher – was spricht dagegen?
Alternativen #
Den Einstieg ins Programmieren einfacher zu gestalten, ist auch mit Java möglich. Hier einige Alternativen:
jshell> System.out.println("Hallo Welt!")
Hallo Welt!
println("Hallo Welt!");