Was ist lny?
lny ist eine einfache Programmiersprache, mit der vor allem Kinder und Jugendliche algorithmisches Denken lernen: eine Aufgabe in Schritte zerlegen, diese Schritte in eine Reihenfolge bringen und prüfen, ob am Ende das Richtige herauskommt.
Dabei kommen auch erste Themen der theoretischen Informatik vor, ganz ohne Fachvokabular: Was ist ein Algorithmus? Warum hört eine Schleife manchmal nicht auf? Wie sucht man etwas, das man nicht sieht? Und warum wird ein Programm, das lernt, nur so gut wie seine Beispiele?
Programmiert wird für Lenny, einen Hund, der auf einem Spielfeld wohnt. Er läuft, dreht sich, sammelt Knochen ein, trinkt an einer Wasserstelle und spielt auf dem Spielplatz. Was auf dem Feld passiert, ist sofort zu sehen, und genau das macht den Unterschied zwischen einer richtigen und einer beinahe richtigen Lösung sichtbar.
Warum lny?
- Sprechende Befehle in einer Landessprache, zum Beispiel
LAUF,WENNundSOLANGEstatt englischer Fachwörter - Neun Sprachen: Deutsch, Englisch, Französisch, Spanisch, Italienisch, Niederländisch, Polnisch, Ukrainisch und Griechisch. Ein Klick wechselt die Sprache und übersetzt das Programm im Editor gleich mit
- Denken statt Syntax: keine Klammern, keine Semikolons, keine Datentypen
- Läuft im Browser, ohne Installation, ohne Anmeldung, ohne Benutzerkonto
- Sichtbare Welt: In der Weltansicht läuft Lenny Schritt für Schritt über das Feld
- Verständliche Fehlermeldungen, die sagen, was zu tun ist, und den richtigen Befehl nennen, falls man versehentlich eine andere Sprache verwendet hat
- Ein Knopf zum Prüfen, der Fehler findet, bevor das Programm startet
- Wächst mit: von den ersten Befehlen über Listen und eigene Verfahren bis zu einem Programm, das selbst eine Regel findet
- Frei verwendbar im Unterricht, samt Aufgaben und Lösungen
- Keine Werbung, keine Cookies, keine Analyse, keine Inhalte von fremden Servern
Beispiel Nr. 1: Variablen und Operatoren
VAR Vorrat << 10
VAR Tage << 3
VAR ProTag << 2
VAR Rest << Vorrat - Tage * ProTag
SCHREIB Rest
Beispiel Nr. 2: Einfache Wenn-Dann-Bedingung
VAR Alter << 20
WENN Alter >= 18 DANN
SCHREIB "Du bist volljährig."
SONST
SCHREIB "Du bist noch minderjährig."
ENDE
Beispiel Nr. 3: Wiederholungen mit Schleifenvariable
VAR i
WIEDERHOLE 5 MAL ALS i
SCHREIB "Hallo, Welt! " + i
ENDE
Beispiel Nr. 4: Zählen von Listenelementen
VAR Zahlen << []
Zahlen += 5
Zahlen += 10
Zahlen += 15
VAR z
VAR count << 0
FUER z IN Zahlen
SCHREIB z
count += 1
ENDE
SCHREIB "Anzahl: " + count
Beispiel Nr. 5: Lenny sucht Wasser
START
SOLANGE NICHT HAT_WASSER UND IST_FREI
LAUF
ENDE
WENN HAT_WASSER DANN
TRINK
SCHREIB "Durst gelöscht auf " + POSITION
ENDE
Beispiel Nr. 6: Ein Quadrat laufen
START
WIEDERHOLE 4 MAL
LAUF 3
DREH_LINKS 3
ENDE
SCHREIB "Wieder auf " + POSITION
Beispiel Nr. 7: Eine eigene Prozedur mit Ergebnis
PROZEDUR Doppelt x
RUECKGABE x * 2
ENDE
SCHREIB "Doppelt 21 ist " + Doppelt 21
Beispiel Nr. 8: Sechs Lottozahlen ohne Wiederholung
VAR Zahlen << []
VAR z
WIEDERHOLE 6 MAL
SOLANGE WAHR
SETZE z AUF ZUFALL 1,49
WENN NICHT ENTHAELT Zahlen, z DANN
ABBRUCH
ENDE
ENDE
Zahlen += z
ENDE
SCHREIB "Lottozahlen: " + LIST2STR Zahlen, ", "
Beispiel Nr. 9: Ist das Wort ein Palindrom?
VAR wort << "reliefpfeiler"
VAR Zeichen << STR2LIST wort
VAR Rueckwaerts << []
VAR c
FUER c IN Zeichen
SETZE Rueckwaerts AUF [c] + Rueckwaerts
ENDE
WENN LIST2STR Rueckwaerts == wort DANN
SCHREIB wort + " ist ein Palindrom"
ENDE
Beispiel Nr. 10: Auf dem Spielplatz spielen
START 1, 9
SOLANGE SCHAU <> "playground" UND IST_FREI
LAUF
ENDE
WENN SCHAU == "playground" DANN
LAUF
SPIEL
SCHREIB "Lenny spielt auf " + POSITION
ENDE
Wer ist der Autor von lny?
Der Autor von lny ist Peter Monadjemi, ein erfahrener Softwareentwickler und Pädagoge, der es sich zum Ziel gesetzt hat, das Programmierenlernen zugänglicher und unterhaltsamer zu gestalten.
Bei Fragen, Anregungen oder Rückmeldungen zu lny erreichen Sie ihn unter info@activetraining.de.
Ist lny kostenlos, Open Source oder was?
lny ist kostenlos und quelloffen und steht unter der MIT-Lizenz. Das bedeutet: Jeder darf den Quellcode einsehen, verwenden, verändern und weitergeben, auch kommerziell, solange der Lizenztext mit dem Urheberrechtsvermerk erhalten bleibt. Eine Gewährleistung gibt es nicht.
Für den Unterricht heißt das: Sie dürfen lny ohne Rückfrage einsetzen, die Aufgaben kopieren, eigene ergänzen und alles an Kolleginnen und Kollegen weitergeben.
Installation
Für den Browser ist nichts zu installieren, es genügt der Aufruf von
lny-code.org. Wer lny lieber im Terminal verwendet,
klont das Repository und richtet den Befehl lny ein:
git clone https://gitlab.com/pemoprojects/lny2026.git
cd lny2026
npm install
npm run build
npm install -g .
Quellcode
Fehler melden und Verbesserungen vorschlagen
Am einfachsten geht es über den Knopf Feedback in der Weboberfläche: Er öffnet eine E-Mail, in der Version, Sprache und das Programm schon eingetragen sind, ganz ohne Anmeldung. Wer ein GitLab-Konto hat, kann auch direkt ein Issue anlegen:
Fehler melden · Verbesserung vorschlagen
Bei einem Fehler hilft am meisten ein kurzes lny-Programm, mit dem er sich nachstellen lässt, dazu die Versionsnummer aus der Kopfzeile.
Lizenz
lny steht unter der MIT-Lizenz: frei verwendbar, veränderbar und weitergebbar, auch kommerziell, solange der Lizenztext mit dem Urheberrechtsvermerk erhalten bleibt. Eine Gewährleistung gibt es nicht.