lny

Eine kleine Sprache zum Lernen, Denken und Entdecken.

Ein paar Beispiele ansehen

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?

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?

Peter Monadjemi mit Lenny
Peter Monadjemi und Lenny, der Namensgeber

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

Zum Repository

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.