+3 Daumen
240 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
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 sofort und kostenfrei

x
Made by a lovely community