Scheme

Doktor Racket ist ein sehr einfach zu bedienender Editor mit einer eigenwilligen Sprache (hier: "Kombo).
Im oberen Teil ist der eigentliche Code, im unteren Teil kann man bei jedem Durchlauf neu Sachen schreiben - neue Konstanten, das Nutzen von Funktionen etc..
Was sind Konstanten und Funktionen?
Funktionen sind im Prinzip Methoden, die immer wie folgt aussehen:
(define...)
Konstanten sind nichts anderes als "Variablen", ABER sie sind Listen, die mit mehreren Werten gefüllt werden. Packt man nur eine Datei in sie hinein, sind sie nichts anderes als Variablen. Noch ein Unterschied, und der wichtigste: Sie sind schlicht nicht variabel, sie bleiben durchgehend gleich.
Im oberen Beispiel haben wir die Methode:
(define...)
Dazu einen Parameter parameter und der Name der Methode namus.
(define (namus parameter)(...))
Nun zum Inhalt, gebe das erste Elemente aus der Liste der Elemente.
(define (namus parameter)(first parameter))
Im Parameter muss die Liste sein, die übergeben worden ist. Um das erste Element anzuzeigen, benutzen wir first.
Nutzten wir die Methode rest, würde das Gegenteil passieren.

Hier haben wir ein komplexeres Beispiel. Oben ist nun eine Konstante vordefiniert mit dem Namen *wurst*. Die Sternchen dienen dem Einhalten der Konvention.
Der Inhalt der Konstante sind "hans" "peter" "susi" und "michael".
Ein Nutzen der Funktion namus erzeugt mit der Schreibweise
(namus *wurst*)
Die Ausgabe von "peter susi michael" da namus nun nicht mehr first, sondern rest ausführt.
Außerdem ist so viel Schreibarbeit erspart worden; der Funktion wurde der Parameter *wurst* übergeben, wodurch Schreibarbeit erspart wurde.
Zudem bietet der untere Teil von DrRacket die Möglichkeit mathematischer Terme, wie im Beispiel zu sehen. Nur wichtig: Der Operator wird immer an den Anfang geschrieben (danke an Polen).
Teil 2
Heute werden Bedingungen dazugenommen - diese funktionieren (bisher) wie if, if else und else.
Das heißt, dass wir eine Grundbedingung aufschreiben. In diesem Fall, ob in unserer Liste überhaupt Inhalt steckt.
Die Abfrage (cond (null? liste)'(was für ein quatsch)) würde, sofern im Parameter liste keine Wörter enthalten sind, true für "nichts" ergeben; dadurch würde die Bedingung erfüllt werden, und "was für ein Quatsch" würde ausgegeben. Eine Anreihung von Bedingungen, wie im Foto zu sehen, sorgt für eine Methode die nicht einfach das dritte Wort aus einer Liste ausgibt, sondern dessen Existenz überhaupt überprüft und angemessene Fehlermeldungen ausgibt.

Außerdem habe ich diesen ganzen Möchtegern-Blog ein wenig aufgeräumt, sodass eine Übersichtlichkeit herrscht, aber meine Motivation für mehr Informatik absolut flöten ging. Morgen geht es dann weiter..
Teil 3
Diesmal ging es append und cons an die Gurgel.Cons kann einfach 2 Listen aneinanderhängen, während append eine beliebige Anzahl an Listen aneinanderhängt. Dies funktioniert ähnlich wie in der OOP: Append packt alle Listen in einen riesigen Eimer von Zeile, und stellt diese dar ohne Unterschiede in der Zugehörigkeit zu einer Liste zu machen.
Außerdem wird die "==" Bedingung für Gleichheit durch "equal?" ersetzt. Die polnische Schreibweise darf nicht vergessen werden.
Unten zu sehen: Sinnvolle Verwendungen von "cons" und "append".
Cons ist sinnvoll, wenn man 1 Element mit einer Liste zusammenfügen will.
Beispiel: Aus Liste X das zweite Wort streichen. Dafür müssen aber erstes Wort und der sonstige Rest bleiben.
Append ist sinnvoll, wenn man 2 Liste zusammenfügen will.
Beispiel: Ganzer Rest ohne erstes Element und Rest ohne erstes und zweites Element.

Am wichtigsten ist jedoch, gerade bei Rekursionen auf jeden Fall, dass man sich erst ein Schema überlegt, wie das Programm aussehen und ablaufen soll.