Ich lerne Haskell sehr gut .
Ich bin ziemlich in OOP und die verschiedenen Typsysteme. Ich habe Java benutzt, um Webapps zu entwickeln (Java EE, Spring, Hibernate, Struts 1.x), jetzt benutze ich regelmäßig Python (Pylons, Django, Sqlalchemy, Pymongo) und Javascript. Ich hatte eine enorme Verbesserung meiner persönlichen Produktivität: der leichtgewichtige Ansatz, Duck Typisierung, tolle Iteratoren, Funktionen als erstklassige Bürger, einfache Syntax und Konfiguration, schnelle Tools wie pip
und distribute
(und vieles mehr) haben mir sehr geholfen .
Aber der erste Grund meiner Produktivitätssteigerung ist die Python-Sprache selbst .
Was sind die Hauptvorteile der Verwendung von Haskell für die Webentwicklung? Zum Beispiel, wie kann die Art der Schlussfolgerung meine Web-App wirklich verbessern? Bisher habe ich festgestellt, dass Sie, wenn Sie Ihre Funktion mit der Typ-Signatur versehen, Ihrem Programm eine Menge Semantik hinzufügen . Ich erwarte, dass all diese Anstrengungen auf irgendeine Weise zurückkommen , um viele Codezeilen zu speichern und sie so klingen zu lassen. Ich mag die scharfe Unterscheidung zwischen Typen und Daten, ich beginne zu verstehen, wie sie funktionieren, aber ich will etwas zurück: P
Versteh mich nicht falsch, ich habe gerade begonnen, Haskell zu studieren, also Maybe
Ich vermisse etwas Ehrfurcht, aber ich möchte wirklich sein Paradigma verstehen und wann es sich lohnt, es zu benutzen.
Die meisten Webanwendungen zielen darauf ab, statuslos und Handle-Parallelität gut . Es ist auch ziemlich wichtig zu skalieren ( Google SEO Gründe und Benutzererfahrung ) ).
Haskell behandelt diese Probleme ziemlich gut (obwohl IMHO akademischer und vielleicht weniger "menschlich" intuitiv ist).
Da es aufgrund des schieren Mangels an Leuten, die Web-Apps entwickeln (im Vergleich zu node.js), und dass traditionelle Web-Apps eher auf OOP-Gedanken fokussiert sind, könnte das ziemlich schwierig sein.
Ich hatte einige Probleme beim Versuch, es zu verwenden, wie Sie in meinen Fragen unten sehen können:
Wie mache ich automatisch Datenserialisierung von Datenobjekten?
Umgang mit inkrementellen Datenmodellierungsänderungen in der funktionalen Programmierung
Tags und Links haskell