1. Foren
  2. Kommentare
  3. Software-Entwicklung-Forum
  4. Alle Kommentare zum Artikel
  5. › Software…

Funktionale Programmierung

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema

Neues Thema


  1. Funktionale Programmierung

    Autor: Ymi_Yugy 25.09.18 - 17:09

    Funktionale Programmiersprachen sind sicher nicht die erste Wahl, wenn man schnell Ergebnisse erziehlen möchte, aber es lohnt sich durchaus parallel zum lernen der ersten Programmiersprache auch mal in funktionale hineinzuschnuppern oder sich zumindest mit den Konzepten funktionaler Programmierung auseinanderzusetzen.
    Wenn man sich nämlich anschaut was für Features in letzter Zeit in populäre Sprachen Einzug halten, fällt auf das viele davon funktional sind.
    Da wären z.B. Lambdas in Java, std::optional in C++, usw.

    Ich persönlich kann da Haskell und insbesondere learn you a Haskell empfehlen.
    Man sollte sich zwar nicht der Illusion hingeben damit seine nächsten Projekte umzusetzen, nicht so sehr weil das mit der Sprache nicht möglich wäre, sondern weil es schwer ist andere zu finden die diese Sprache oder zumindest funktionale Programmierung einigermaßen beherrschen, aber all die Konzepte, die man dort lernt, helfen einem dann Ideen auch in anderen Sprachen deutlich präzieser und eleganter auszudrücken.

  2. Re: Funktionale Programmierung

    Autor: stiGGG 25.09.18 - 18:52

    Grundsätzlich Zustimmung, aber man sollte extrem aufpassen einem Neuling nicht zuviel auf einmal zuzumuten. Auch OOP Konzepte sollte man am Anfang erstmal ignorieren. Die Lernkurve beim Programmieren ist so dermaßen Steil, dass viele dann direkt aufgeben.

    Frage am Rande, zählst du std::optional zur funktionalen Welt, weil es auf gewisse Weise dem Konzept einer Monade entspricht? DAS sollte man auf jeden Fall nicht einem Anfänger versuchen zu erklären. Optionals an sich wegen mir (in Swift kommt man da zB überhaupt nicht drum rum), aber nicht die fast philosophische Theorie dahinter.

  3. Re: Funktionale Programmierung

    Autor: Ymi_Yugy 25.09.18 - 19:28

    Wie viel man einem Neuling zumuten kann ist ja immer sehr fallabhängig.
    Bezüglich OOP kann ich nicht ganz nachvollziehen, wieso da gerade bei Einsteigern so viel Wert drauf gelegt wird.
    Man muss schon ein ziemlich großes Programm schreiben, damit sich so ein Konzept wirklich lohnt. Davon dürften die meisten Einstiger erstmal ziemlich weit entfernt sein.
    Funktionale Konzepte lassen sich dagegen bei nahezu jedem Programm sinnvoll einbinden.

    Ebenso wenig sollte man gleich zu Beginn mit Monads Einfallen oder auf die Idee kommen man müsse erst mal die Regeln des Lambda Kalküls beweisen.
    Am Anfang lernt man ja eher so Dinge, wie man z.B. eine Funktion/Methode schreibt und frührer oder später werden viele einfache Algorithmen implementiert und in nicht wenigen Fällen dürften diese Funktionen nicht wohldefiniert sein, deshalb Optionals.
    Als funktional betrachte ich die, weil die klassischen Varianten des Fehlermanagements in imperativen Sprachen ja anders aussahen.
    In C war der Rückgabewert der Fehler und der eigentliche Wert wird in einem Pointer abgelegt.
    In Java gibt es Exceptions, usw.

  4. Re: Funktionale Programmierung

    Autor: apriori 25.09.18 - 19:45

    > Frage am Rande, zählst du std::optional zur funktionalen Welt, weil es auf
    > gewisse Weise dem Konzept einer Monade entspricht? DAS sollte man auf jeden
    > Fall nicht einem Anfänger versuchen zu erklären. Optionals an sich wegen
    > mir (in Swift kommt man da zB überhaupt nicht drum rum), aber nicht die
    > fast philosophische Theorie dahinter.
    Ist zwar OT, aber std::optional hat defakto nichts mit der Maybe Monade in Haskell gemein. Gerademal die Eigenschaft zweier Mögliche Wertausprägungen ist vorhanden. Sonst, keinerlei Komposition (Bind), keinerlei apply (Functor), keinerlei Alternative. Es ist zwar "ganz nett" endlich mal dann Optionalität nicht mit einem Nullpointer ausdrückt zu haben, aber alle anderen Vorteile sind wahrscheinlich nichtmal wahrgenommen worden.

    Mal abgesehen davon, dass es eine absolut wahnwitzig bescheuerte Idee ist, dass T implizit zu std::optional<T> castet.

  5. Re: Funktionale Programmierung

    Autor: Hello_World 25.09.18 - 20:17

    stiGGG schrieb:
    --------------------------------------------------------------------------------
    > Grundsätzlich Zustimmung, aber man sollte extrem aufpassen einem Neuling
    > nicht zuviel auf einmal zuzumuten.
    Stimmt, deswegen sollte man auf unnötige Komplexität wie z. B. mutable state und Seiteneffekte zu Anfang einfach verzichten.

    > Auch OOP Konzepte sollte man am Anfang erstmal ignorieren.
    Und später auch. Dijkstra hat das schon richtig erkannt: „Object-oriented programming is an exceptionally bad idea which could only have originated in California“.

    > Frage am Rande, zählst du std::optional zur funktionalen Welt, weil es auf
    > gewisse Weise dem Konzept einer Monade entspricht?
    std::optional ist schon allein deswegen keine Monade, weil es mutable ist.

  1. Thema

Neues Thema


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Software Integration and Test Engineer HPC (m/f / diverse)
    Continental AG, Wetzlar
  2. SAP Job - SAP BW / 4HANA Berater (m/w/x)
    über duerenhoff GmbH, München
  3. Network / Security Engineer (m/w/d)
    HCD Consulting GmbH, München
  4. Projektleiterin / Projektleiter für die Bauwerkserneuerung der Ingenieurbauwerke U-Bahn (w/m/d)
    Berliner Verkehrsbetriebe (BVG), Berlin

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 49,99€ (inkl. Bonusmission "Die vierzig Räuber")
  2. 109,99€
  3. ab 34,99€
  4. (u. a. Cadet Edition für 8,99€ statt 39€, Together for Victory für 6,99€ statt 14,99€)


Haben wir etwas übersehen?

E-Mail an news@golem.de


iPhone 14 Pro Max im Test: Apple macht das iPhone wieder spannend
iPhone 14 Pro Max im Test
Apple macht das iPhone wieder spannend

Das iPhone 14 Pro Max mag aussehen wie sein direkter Vorgänger, einige der Neuerungen gehören aber zu den interessantesten bei Apple seit Jahren.
Ein Test von Tobias Költzsch

  1. Unfall-Erkennung Auto-Unfallerkennung des iPhone 14 getestet
  2. iFixit Die größte Neuerung des iPhone 14 ist unsichtbar
  3. Apple iPhone 14 Pro soll Kamerarüttler ausgetrieben werden

Return to Monkey Island angespielt: Schön, mal wieder hier zu sein
Return to Monkey Island angespielt
Schön, mal wieder hier zu sein

Guybrush Threepwood ist zurück - und mit ihm sein Erfinder Ron Gilbert. Aber ist das neue Monkey Island auch so gut wie seine Vorgänger?
Eine Rezension von Daniel Ziegener

  1. Boox Mira im Test Ein Display wie aus Papier

Wi-Fi-6, Dual-Band, DECT: Die Fritzbox 6660 Cable in ihre Einzelteile zerlegt
Wi-Fi-6, Dual-Band, DECT
Die Fritzbox 6660 Cable in ihre Einzelteile zerlegt

Wir schrauben das Innenleben einer AVM Fritzbox 6660 Cable auseinander und vergleichen es mit dem einer aufgebohrten Refbox-Variante.
Eine Anleitung von Harald Karcher

  1. AVM Den Fritz!Repeater 1200 AX pimpen
  2. CPU, Docsis, WLAN, DECT, Antennen Das Innenleben der Fritzbox 6690 Cable
  3. AVM ISDN an der Fritzbox 7590 AX wird langsam verschwinden