+4 Daumen
715 Aufrufe


1. Einführung

Zur Feier meines 10. Videos auf meinem YouTube-Kanal Informatik by André Dalwigk zeige ich dir in diesem Artikel, wie du in 10 verschiedenen Programmiersprachen ein Hallo-Welt-Programm schreiben kannst. Dabei werden die Sprachen Java, Python, Kotlin, Go, JavaScript, PHP, C#, Ruby, Rust und ABAP abgedeckt.

2. Was ist ein Hallo-Welt-Programm?

Ein Hallo-Welt-Programm ist das erste eigene Programm, das man als angehender Informatiker entwickelt. Es soll auf möglichst einfache Art und Weise zeigen, was alles nötig ist, um in einer bestimmten Programmiersprache ein lauffähiges Programm zu schreiben.

Zudem soll man dadurch einen Einblick in die Syntax der jeweiligen Sprache erhalten.

Doch was macht das Hallo-Welt-Programm eigentlich? Nun, es gibt einfach einen Text (meistens „Hallo Welt!“) auf der Konsole aus. Da es sich um eine sehr einfache Aufgabe handelt, eignet sich dieses Idiom hervorragend für didaktische Zwecke.

Je nach Programmiersprache ist der damit verbundene Aufwand unterschiedlich ausgeprägt. Während in einigen Sprachen (z. B. Python) eine einzige Codezeile genügt, produzieren andere einen erheblichen Code-Overhead. Als Negativbeispiel ist hier Java zu nennen.

Hallo Java!

Wie bereits erwähnt produziert das Hallo-Java-Programm recht viel programmiertechnischen Overhead. Das liegt daran, dass zunächst eine Klasse definiert und innerhalb dieser Klasse die main( ) Methode implementiert werden muss. Erst danach kann durch den Aufruf von System.out.println( ) die Nachricht „Hallo Java!“ auf die Konsole geschrieben werden:

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

Hallo Python!

Python auf der anderen Seite ist vom Programmieraufwand das exakte Gegenstück zu Java. Das Hallo-Python-Programm besteht aus nur einer einzigen Anweisung, nämlich dem Funktionsaufruf print( ), in den der auszugebende Text eingetragen wird:

print("Hallo Python!")

Hallo Kotlin!

Die Implementierung des Hallo-Kotlin-Programms erinnert stark an die von Java, was aufgrund ihrer gemeinsamen Geschichte nicht verwunderlich ist. Allerdings wird hier auf die Rahmenklasse verzichtet. Es wird lediglich eine main( ) Methode benötigt, die als Argument (wie bei Java) ein String-Array bekommt. Innerhalb der geschweiften Klammern rufst du dann die Funktion println ( ) mit dem Argument „Hallo Kotlin!“ auf und voilà:

fun main(args : Array<String>) {
    println("Hallo Kotlin!")
}

Hallo Go!

Go ist eine von Go(ogle) entwickelte Programmiersprache, die aus der Unzufriedenheit über andere Programmiersprachen in Bezug auf die Einsetzbarkeit bei Cluster- und Cloud-Computing sowie skalierbaren Netzwerkdiensten entstanden ist. Beim Hallo-Go-Programm wird zwar ebenfalls keine Rahmenklasse benötigt, dafür aber eine Paketdefinition und der Import fmt, der den Aufruf der Funktion Printf innerhalb der main( ) möglich macht.

package main
import "fmt"

func main() {
  fmt.Printf("Hallo GO!")
}

Hallo JavaScript!

Ein Hallo-JavaScript-Programm besteht zwar ebenfalls nur aus einer Zeile, doch der Aufruf im Browser benötigt weiteren Code. Zudem kann man sich darüber streiten, ob nun die Anzeige der Nachricht in der Konsole oder via Alert-Box im Browser die Ausgabe des Hallo-Welt-Idioms in JavaScript ist.

Die Ausgabe auf der Konsole erfolgt über den Befehl console.log( ):

console.log("Hallo JavaScript!");

Eine Alert-Box wird durch window.alert( ) getriggert:

window.alert("Hallo JavaScript!");

Um das Skript im Browser ausführen zu können, wird der JavaScript-Code z. B. via <script>-Tags, die in einem HTML-Dokument eingebunden sind, aufgerufen.

<html>
  <script>
      window.alert("Hallo JavaScript!");
  </script>
</html>

Hallo PHP!

PHP ist eine serverseitige Sprache im Web-Umfeld. Der Ausgabebefehl lautet echo. Auf diesen folgt für das Hallo-PHP-Programm die auszugebende Nachricht „Hallo PHP!“. Um den Code ausführen zu können, muss dem Interpreter durch die ?-Tags  klar gemacht werden, dass der darin gekapselte Text PHP-Code ist:

<?php
  echo "Hallo PHP!";
?>

Hallo C#!

Ein Hallo-C#-Programm benötigt (wie bereits Java und Kotlin) eine Rahmenklasse, sowie eine Main() Methode (beachte die Großschreibung). Der Befehl zum Drucken der Nachricht „Hallo C#!“ auf die Konsole, lautet System.Console.WriteLine( ).

public class HalloWelt {
    public static void Main() {
        System.Console.WriteLine("Hallo C#!");
    }
}

Hallo Ruby!

Spätestens bei Ruby wirst du feststellen, dass ein Hallo-Welt-Programm in Skriptsprachen mit sehr wenig Code auskommt. So verhält es sich auch bei dem Hallo-Ruby-Programm, das bereits mit der Anweisung puts auskommt.

puts "Hallo Ruby!"

Hallo Rust!

Rust als von Mozilla Research entwickelte Multi-Paradigmen-Programmiersprache gilt als besonders sicher, robust und praxisorientiert. Der Aufwand eines Hallo-Rust-Programms ist mit dem von Kotlin vergleichbar. Auch hier wird eine main( ) sowie ein Funktionsaufruf benötigt. Allerdings taucht hier das bei Kotlin gestohlene Semikolon wieder auf.

fn main() {
    println!("Hallo Rust!");
}

Hallo ABAP!

ABAP ist die Programmiersprache im SAP Umfeld. Sie setzt auf Cobol auf und ein Hallo-ABAP-Programm benötigt ebenfalls nur einen Befehl. Ausführbare Programme heißen hier Reports, weshalb das Source-File von dem Keyword Report angeführt wird:

REPORT /PAKET/HALLO_WELT.
WRITE 'Hallo ABAP!'.

Die Schwierigkeit wird hier wohl sein eine Situation herbeizuklicken, die das Schreiben eines Reports überhaupt erst ermöglicht. Dazu folgen in Zukunft weitere Tutorials.

Autor: Florian André Dalwigk

Dieser Artikel hat 50 Bonuspunkte erhalten. Schreib auch du einen Artikel.
geschlossen: Stack-Artikel
Avatar von

Du erwähnst im Video das Semikolon als Befehlsende. Ist es eigentlich redundant oder, wenn nicht, wodurch wurde es ersetzt? Warum ist es überflüssig / lästig?

Das Smikolon wurde einfach weggelassen, weil der Kotlin-Compiler anders funktioniert. Lästig ist es nicht unbedingt (kommt auf den Geschmack an). Ich persönlich begrüße Semikola am Ende einer Anweisung.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community