Mini-Languages: Überblick über die Minilanguages


Vorweg muss gesagt werden, dass hier wohl keine vollständige Aufzählung von Mini-Languages möglich sein wird. Das liegt einmal daran, dass bereits eine Fülle von Mini-Languages existieren und ständig neue hinzukommen. Aber es fällt daneben auch schwer zu bestimmen, wann ein paar Befehle schon eine Mini-Language sind und wann sie diesen Status wieder verlieren und zur Hochsprache werden.

Ursprünglich stammt der Begriff der Mini-Languages (oder minilanguages) aus der UNIX-Welt. In den textbasierten Terminals existierten nicht nur die shell-Befehle zur Steuerung des Betriebssystems. Schon früh kamen script-Sprachen wie troff, eqn, tbl, pic, grap, shell-Werkzeuge wie awk, sed, dc, bc und Entwicklungswerkzeuge wie make, yacc, lex hinzu. Auch die bekannte scipt-Sprache PostScript ist nichts anderes als eine Mini-Language. Sie alle hatten das Ziel dem UNIX-Benutzer Routineaufgaben zu vereinfachen und so letztlich das System einfacher zu bedienen.

Schon bald sah man das Potenzial der Mini-Languages für ein anderes Ziel: die methodische Einführung in die Programmierung. Diese speziellen Mini-Languages, die zu pädagogischen Zwecken eingesetzt werden, sollen hier näher betrachtet werden.

Diese Idee ist zuerst von Richard E. Pattis 1981 in seinem Buch "Karel the Robot - A Gentle Introduction to the Art of Programming" entwickelt worden (Verlag John Wiley and Sons, Inc; ISBN: 0-471-59725-2; Copyright: 1981, 1995, by John Wiley and Sons, Inc). Der virtuelle Roboter Karel bewegt sich in einer Welt, die nur im Computer existiert. Über einfache Befehle kann er bewegt werden oder kleine Gegenstände bewegen. Durch sinnvolle Kombination der Befehle kann Karol sehr komplexe Aufgaben erledigen.

Von diesem Grundprinzip ausgehend entwickelten sich eine Vielzahl weiterer Mini-Languages. Sie bieten nahezu alle eine spezielle Programmierumgebung - die virtuelle Welt -, leichte Befehle und eine Figur, welche die Befehle visuell umsetzt. Hier eine beispielhafte Aufzählung:

Kara der Marienkäfer

Bearbeiten

Kara basiert auf dem Konzept endlicher Automaten, ist alltagsnah und trotzdem ein theoretisch fundiertes und mächtiges Programmiermodell. Verschiedene Programmierumgebungen (Kara, MultiKara, TuringKara, JavaKara) eröffnen spielerische Zugänge zu grundlegenden Programmierkonzepten mit unterschiedlichem Schwierigkeitsgrad für allgemeinbildende Schulen bis hin zu Diplomstudiengängen in der Informatik." (Quelle: http://www.swisseduc.ch/informatik/karatojava/)

Karel D. Robot

Bearbeiten

Karel D. Robot ist

  • ein entfernter neuer Verwandter in der Karel-Familie, aber keine 1:1-Portierung nach Delphi, sondern ein offener Ansatz
  • ein spielerischer Weg für den objektorientierten Einstieg in die Programmierung ('OOP von Anfang an')
  • gedacht für den Anfangsunterricht à la Karel the Robot
  • ist geeignet für den (Berliner) Einstieg über die Analyse komplexer Systeme
  • entwickelt für den Anfangsunterricht auf der Ebene einer Mini-Language und den gleitenden Übergang in eine echte Programmiersprache
  • mit einer integrierten Hilfe, Dokumentation und Tutorial ausgestattet
  • objektorientiert (Architektur und Dot-Notation)
  • erweiterbar / veränderbar - auch ohne Quellcode

(Quelle: http://www.oszhandel.de/gymnasium/faecher/informatik/delphi_karel/index.htm)

Robot Karol

Bearbeiten

Robot Karol deutsch bietet eine Programmierumgebung mit:

  • Editor für die Sprache Karol, der Syntaxhervorhebung und Schlüsselwort-Ergänzungen erlaubt
  • Unterstützung bei der Eingabe des Programmtextes
  • Darstellung des Programmcodes als Struktogramm und als Code-übersicht
  • Syntaxüberprüfung mit Fehlerhinweisen
  • Programmablauf schnell, verzögert oder mit Einzelschritt
  • grafischen Darstellung einer 3D-Welt, die den Roboter Karol als Figur im Raum zeigt und diese je nach Anweisungen bewegt
  • grafischen Darstellung einer 2D-Welt

(Quelle: http://www.schule.bayern.de/karol/)

Die Oberfläche enthält ein Spielfeld und einen Programmeditor. Das Spielfeld kann mit Hindernissen und Blumen belegt werden, die Eddi-V umgehen bzw. pflücken muss. Die kostenlose Demoversion besitzt den vollen Funktionsumfang, sie "erfreut" den Benutzer aber alle fünf Minuten und zum Programmende mit einer Aufforderung zum Freischalten, die zwanzig Sekunden lang die Weiterarbeit verhindert. Programmiert wird in eingedeutschtem PASCAL, z.B.:

   * programm beispiel;
   * beginn ... ende.
   * für i := 1 bis 5 tu ...
(Quelle: http://www.schule.de/bics/inf1/eddiv.htm)

"Niki ist eine geschlossene Programmierumgebung mit eigenem Editor und Compiler zum Erlernen der Programmiersprache Pascal (Quelle: http://www.hupfeld-software.de/pmwiki/pmwiki.php?n=Main.Niki

Java-Hamster-Modell

Bearbeiten

"Dieses Programm dient hauptsächlich dem Erlernen der Logik der Programmierung, basiert aber auf Java und nutzt deren Syntax, so dass man schnell in Java einsteigen kann, oder auf andere Programmiersprachen umsteigen kann." (Quelle: http://www.java-hamster-modell.de/)


> Programmierung von Robot Karol

< Inhaltsverzeichnis