Treffen 28. April

Kommentare zu den Fragen

Alles ist für alle zugänglich, wenn jemand Kommentare oder Fragen hat können wir diese diskutieren.

  1. Zwei Listen der Programmiersprachen, die Sie kennen und (mehr oder weniger) verwenden können
    1. Nach Kenntnissen eingeordnet: die am besten bekannte als 1, usw.
    2. Nach Präferenz eingeordnet: die interessantesten/am besten gefallen/etc. als 1, usw.
  2. Was ist funktionale Programmierung?
  3. Warum programmiert man funktional?
  4. Sind funktionale Sprachen für den Produktivbetrieb geeignet, oder sind sie nur als Forschungswerkzeuge oder gar Spielzeuge geeignet?

Unterschiedliche Ebene von Hybridität

  • Variable in LISP sind mutationsfähig (Mutation durch das Design)
  • Side effects in Haskell durch Workaround (monadische Aktionen)

Relevante funktionale Sprachen

Sprachen, bei denen Studierende ihr Interesse signalisiert haben. Auch Sprachen mit funktionalen Möglichkeiten/Erweiterungen.

  • Haskell
  • Kotlin
  • Java 8
  • funktionales JavaScript
  • Elm
  • LISP
  • XSLT
  • Clojure
  • Erlang
  • Dart

Sprache mit funktionale Möglichkeiten/Erweiterungen

Ein Paar Beispiele Ihrer Erklärungen.

Java functional

Java 8: Prozeduren höherer Ordnung, Lambdas (lazy Evaluation)

Mastering the new functional styles of Java will be challenging for OOP developers, but it is a challenge that should be very welcome. I would actually go so far and say that you should learn a pure functional programming language. That way you can fully understand the possibilities and power it brings. I think this will help you understand functional programming on another level.

So, embrace functional programming, as well as the good old OOP, and use them together to write even greater code! https://www.deadcoderising.com/why-you-should-embrace-lambdas-in-java-8/

Kotlin

Funktionale Programmierung in Java 8 und in Kotlin – Ähnlichkeiten und Unterschiene, die sich durch parallele Projekte ergeben

—> mögliches Projekt dieser Übung -- KandidatInnen?

Javascript functional

Work in a Functional way by using libraries like Lodash, Underscore, RambdaJS or only using Vanilla Javascript. https://levelup.gitconnected.com/understanding-functional-programming-in-javascript-a-complete-guide-e85ed13b42c8

Effizienz

„Ich habe ein LISP-Programm, das schneller als die ähnliche Lösung in C ist!!!” (und ich kenne jemand, der mit 8 Bälle jonglieren kann)

—> Projekt – Erforschung durch Experimente und Gegenüberstellungen?

Mögliche Ziele

  1. Eine oder mehrere funktionale Programmierungssprache/n zu lernen oder zu verbessern
  2. Nutzbarkeit und Verständnis funktionaler Programmierungsmethodologien zu erlernen oder zu verbessern

oder:

  1. Eine neue Sprache zu lernen —> sprachlicher Fokus?
  2. Funktionale Programmierung zu verstehen —> sprachlich Diversität?
  3. Theoretische Aspekte der Programmierung besser zu versehen —> Praxislernen + weiterführende Literatur auswerten

Aufgabe bis 4. Mai

Wählen Sie für die erste Arbeitsphase (oder wenn erwünscht für das gesamte Semester):

  • eine Ausrichtung Ihrer Arbeit
  • Eine/Mehrere Sprache/n

Überlegen Sie auch die inhaltliche Ausrichtung der Entwicklung (was wird Ihr Programm machen):

  • Inhaltsfokussiert —> ich möchte gern ein Programm schreiben, das dieses Problem löst.
  • Lernfokussiert —> ich muss eine beliebiges Thema finden, um eine praktische Umsetzung zum Erlernen zu erstellen

Gruppenarbeit ist möglich unter Berücksichtigung der Sicherheitsmaßnahmen (sehe Hauptseite).

Beschreiben Sie kurz Ihre Strategie (als Einzelperson oder Gruppe) in Form von Text, Audio, Video, als graphisches Modell, oder in anderer vernünftiger Form. Bitte laden Sie Ihre Präsentationen in Ilias hoch. Dateiname: FunkStrategie_IhrName, Ordner: Strategie für 5. Mai.