DAS ist … (funktionale) Spartakiade

Hallo Spartaner … ähm – Spartakiaden

spartakiade.org/

spartakiade.org

Rekuten und Soldaten: Richtet eueren Blick auf unser Schild:

Schild
In der Mitte seht ihr ein großes Lambda. Historiker sagen dies war ein Symbol für die Lakedaimonier.
Ich sage: Das ist nur die halbe Wahrheit – \(\Lambda\) bzw. \(\lambda\) (wir sind ja bescheiden) ist ein Symbol für den antiken (LISP 1958) Kult der funktionalen Krieger (und wenn ich hier von Kriegern spreche so meine ich natürlich männliche und weibliche).

Deshalb muss sich jeder Spartakiat selbstverständlich auch in der hohen Kunst der FP ausbilden lassen – eine Ehre die dieses Jahr mir zu Teil werden wird – wenn sich genügend mutige Programmierer finden.

Ihr werdet in meinem Workshop reine Funktionen schwingen und euch mit unveränderliche Datenstrukturen verteidigen lernen um interessante Probleme zu besiegen. Wir werden über referenzielle Transparenz reden und eigenschaftsbasierend den Feind testen. Ihr werdet sehen warum starke Typen (wie wir) mehr Sicherheit geben als dynamische Flexibilität.

Ein echter Krieger fürchtet sich nicht vor neuen Waffen deshalb möchte ich die Ausbildung am liebsten mit Haskell oder F# durchführen – falls euch das zu hart ist können wir demokratisch auf C# ausweichen.

Rekruten die FP mit JavaScript einsetzen wollen sind willkommen, aus Mangel an Kompetenz (und Interesse) an der Sprache werde ich das aber nicht als Alternative anbieten. Übrigens: JavaScript ist nützlich und nötig – für Heloten!

Spartaner fürchten sich außerdem nicht vor großen Worten – deshalb werden wir auch schreckliche Begriffe der Mathematik verwenden und alle Anstrengungen unternehmen sogar Monaden in verschiedener Form zu implementieren. Die Theorie überlassen wir dabei (meistens) den Philosophen und Tagträumern – wir werden die Biester durch Beispiele erkennen!

Workshop

  • Termin: 21 März auf der Spartakiade
  • Es geht um: Einführung in die funktionale Programmierung in praktischer Form (viele Beispiele und Übungen). Wir sehen einfach wie weit wir mit der Zeit kommen! Das Fernziel wäre es Monaden an Beispielen zu implementieren und hoffentlich zu verstehen.
  • Level: keine FP Kenntnisse nötig – ihr solltet aber schon mal programmiert haben 😉 Aber: Wir sind ja auf der Spartakiade – wenn ihr mitzieht wird es richtig anstrengend und ihr könnt mich richtig fertig machen!
  • Sprache: Ihr wählt! Ich würde am liebsten eine gleichzeitige Einführung in F# oder Haskell machen (macht einfach mehr Sinn). Alternativ (wäre schön, wenn ihr unten abstimmen könntet) mache ich das in C#. Hier würde ich aber Kenntnisse der Programmiersprache (insbesondere Lambda-Ausdrücke, LINQ Basics, Delegates) erwarten.

Umfrage

Um das ein wenig interaktiver zu machen (ich freue mich über Anregungen, Wünsche, … per Kommentar!) würde ich gerne wissen, in welcher Programmiersprache ich meine Beispiele, Demos, Übungen machen soll:

bitte in folgender Programmiersprache

View Results

Loading ... Loading ...

Bleibt einfach dran – ich werde hier regelmäßig zum Thema schreiben und Euch auf dem Laufenden halten.

Teasers