Erste Schritte mit F # [geschlossen]

139

Wie gehe ich in die F # -Programmierung ein?

Was sind einige gute Starter-Beispiele, um die Sprache zu lernen oder einige ihrer Vorteile gegenüber anderen Sprachen kennenzulernen?

Welche Tools benötige ich (z. B. Windows, Visual Studio, ...)?

Brian
quelle
4
Sollte diese Frage mit 120 Stimmen wieder geöffnet werden? Es bietet gute Antworten auf eine gute Frage, die viele Male gelesen wurde.
rollt

Antworten:

137

Der offizielle Einstiegspunkt ist hier: Microsoft F # Developer Center

Versuchen Sie für einen schnellen Vorgeschmack, F # in Ihrem Browser (Silverlight) zu versuchen . (enthält interaktive Tutorial-exemplarische Vorgehensweisen)

Sehen Sie sich zunächst Videos und Präsentationen an (Übrigens: Eine Einführung in Microsoft F # von Luca Bolognese ist immer noch eine der besten Präsentationen zu diesem Thema). Lesen Sie dann die folgenden zwei Bücher, die Sie unbedingt lesen müssen:

und außerdem ...

Quick Links

Gemeinschaft

Fragen und Antworten

Bloggen / Veröffentlichen

Meetup-Gruppen

Videos

Andere Bücher

Werkzeuge benötigt

Visual Studio:

  • F # ist in professionelle Editionen von VS2010 und VS2012 integriert.
  • F # ist als Add-On-Komponente für Visual Studio 2012 Express for Web verfügbar.
  • Alternativ können Sie auch die integrierte VS2010-Shell installieren ( kostenloser Download ). Installieren Sie dann das CTP MSI für eine kostenlose VS2010-Version von F # 2.0.

MonoDevelop:

  • Sie können viele Informationen über die Verwendung von F # in MonoDevelop finden hier . Der F # -Compiler und fsi.exe sind jetzt Teil der Mono-Distribution.
Brian
quelle
1
Ich habe noch kein "Must-Read" -Buch gefunden, wenn es um Programmierung geht, daher bin ich solchen Buchempfehlungen eher skeptisch gegenüber ...
HB
3
Was ist, wenn dies zu den Tag-Informationen hinzugefügt wurde? stackoverflow.com/tags/f%23/info
Bytebuster
2
Wenn es helfen kann, haben ich und ich festgestellt, dass ich verschiedene Bücher für verschiedene Zwecke benutze. Experte F # eher als Referenz (allerdings keine reine Referenz) zum Nachschlagen von Dingen, beginnend mit F # als Kulturbuch, in dem ich immer etwas sehr Nützliches lerne, egal welches Kapitel ich lese, sogar grundlegende Dinge, und RWFP als Abschluss eines Themas .
Nicolas
3
Ich kann Jon Harrops Buch auch sehr empfehlen. Wirklich auf den Punkt, auf der Algo-Seite mit netten grundlegenden Sachen. 0% Abfall. Auch Jon mag Noobie.
Nicolas
1
@ HB Ich denke, es gibt zu lesen, aber diese sind nicht grundlegend und allgemein genug, um IMHO
Nicole
31

Ich habe F # gelernt, indem ich die folgenden 3 Schritte durchlaufen habe.

Zuerst ging ich die Einführung auf der Try F # -Website durch, die eine gute (aber leichte) interaktive Einführung in die Syntax und den Stil der Sprache bietet.

Um ein Gefühl dafür zu bekommen, wie man Probleme in der Sprache tatsächlich löst, begann ich, einige der Rätsel auf der Project Euler- Site zu lösen . Ich habe die ersten zehn Probleme gelöst und nach jedem erfolgreichen Problem hier eine alternative F # -Implementierung nachgeschlagen . Dies gab ein gutes Gefühl dafür, wie man mit Sequenzen und Rekursion arbeitet und sich im Allgemeinen mit der Syntax vertraut macht.

Schließlich lese ich die wirklich ausgezeichnete 30-Punkte - Führung Warum # Verwendung F auf http://fsharpforfunandprofit.com/ . Sie werden Schritt für Schritt durch alle wichtigen Teile der Sprache geführt und beschrieben, wie Sie sie nutzen können - mit Blick auf C # -Entwickler. Danach ermutige ich Sie, sich auf der Website nach anderen Ressourcen umzusehen. Sie sind alle sehr gut geschrieben und sehr aufschlussreich.

Nachdem Sie diese Schritte ausgeführt haben, sollten Sie bereit sein, ein reales Projekt in F # zu erstellen.

Morten Christiansen
quelle
3
Die Euler-Empfehlung gefällt mir sehr gut. Tatsächliches Lösen von Problemen ist (für mich) der beste Weg, sich wirklich zu vertiefen. Auch fsharpforfunandprofit ist eine großartige Quelle, die ich auch sehr hilfreich fand.
Ostkontentitan
Im Beispiel des Euler-Projekts scheinen Lösungen für f # nicht die leistungsstärksten zu sein. Problem eins schneidet viel besser ab mit: let problem1 = [1..999] |> List.filter (fun x -> (x% 5 = 0 || x% 3 = 0)) |> Seq.sum ;; Ich würde vorschlagen, die Zeit Ihrer und der bereitgestellten Lösung zu messen. stackoverflow.com/questions/4528355/…
Ostkontentitan
Ich tat das gleiche. Ich habe ein bisschen Sprache / Syntax / Denkweise gelernt und bin zu Project Euler gegangen.
Grzegorz Gierlik
24

Brian hat bereits eine großartige Liste zusammengestellt, aber ich reiche demütig meinen eigenen kleinen Beitrag zum reichen Ökosystem von F # -Lernmaterial, den F # Koans, ein - eine einfache, unterhaltsame und interaktive Möglichkeit, die F # -Sprache durch Testen zu lernen.

Chris Marinos
quelle
2
+1 Dies ist eine großartige interaktive Einführung in die Grundkonzepte, die sich auf einige Koans für Fortgeschrittene freut.
79E09796
1
Danke dir. Ich habe eine Menge von den Koans gelernt, und ich würde mich total für einige fortgeschrittene interessieren.
Tyler Smith