Dieser Artikel wurde maschinell übersetzt.

Toolbox

F#-Tools und Ressourcen

Terrence Dorsey

F# ist eine neue funktionale, typsichere Programmiersprache für Microsoft.NET Framework. Entwickelt von Microsoft Research, es basiert auf Objective Caml oder OCaml, die wiederum auf ML basiert. Der Ersteller der f#, Don Syme, ruft es "eine Synthese zwischen typsicher, skalierbare und Mathematik-orientierten Skripterstellung und Programmierung für.NET."

Diese Sprache ist noch sehr jung, es gibt aber bereits einen regelrechten Kult um Sie unter Programmierern. Vielleicht besteht darin, dass f# Vertrautheit mit aufbauen können Sie die.NET Framework und Visual Studio. Vielleicht ist es da F#-funktionale, imperative und objektorientierter Programmiertechniken in einer einzigen Sprache kombiniert. Oder vielleicht ist es da f# als streng typisierte Sprache, die auch die Flexibilität ist der Eingabe während der Kompilierung unterstützt.

Ist jeweils Aspekte der Sprache ansprechen möchten, hier ein Leitfaden zu den Tools und Ressourcen, mit denen Sie die optimale Nutzung von f# erhalten.

Erste Schritte

Wenn Sie Visual Studio 2010 verwenden und die.NET Framework-4, haben Sie bereits die Tools installiert, die Sie benötigen, starten die Wiedergabe mit f# 2.0. Außerdem können Sie einen Standalone-Installer für die F#-2.0-Tools()Bit.LY/fGVQvl) Wenn Sie f# in einer früheren Version von Visual Studio oder in anderen Entwicklungsumgebungen verwenden möchten.

Der nächste Stopp zum Kennenlernen f# werden sollte die Microsoft F#-Developer Center ()MSDN.Microsoft.com/fsharp). Hier finden Sie Dokumentation, Links zu Beispielen, Blogbeiträge von F#-Experten und vieles mehr.

Core-Ressource geht, werden die F#-Sprachreferenz ()MSDN.Microsoft.com/library/dd233181) in der MSDN Library. Dies hat alle Language-Details, zusammen mit Beispielcode.

Entwicklungsumgebungen

Wie bereits erwähnt, bietet Visual Studio 2010 tief Unterstützung für f# rechts vom Feld. Aber wenn Sie die Sprache auf anderen Computern oder sogar andere Betriebssysteme experimentieren möchten, head über, um die versuchen F#-Website ()tryfs.NET), wo Sie interaktiv code können mithilfe von f# in einer Browser-basierte Interpreter.

Diejenigen ohne Visual Studio können einen Testversionen Download als eigenständige Anwendung oder virtuelle Maschine von Microsoft (grab.MSDN.Microsoft.com/vstudio/bb984878). Abgesehen von Visual Studio gibt es eine Reihe von anderen kostenlose und kommerzielle IDEs, die direkte Unterstützung für F#-Entwicklung. Dazu gehören SharpDevelop()SharpDevelop.NET/Opensource/SD), xacc.IDE ()xacc.WordPress.com) und MonoDevelop ()monodevelop.com).

Ein neuen Aspekt der MonoDevelop ist, dass Sie Ihre Entwicklungsumgebung unter Windows, Mac OS X oder Linux und Ziel einrichten können.NET Framework-basierten Anwendungen auf diesen Plattformen zusätzlich zu iOS, Android und Windows-Telefon-7. Funktionale Variationen enthält Informationen zum Abrufen der F#-Funktionen ausgeführt. finden Sie unter "Installieren und Verwenden von f# in MonoDevelop" ()funktionale variations.net/monodevelop). Robert Pickering hat auch eine Anleitung zur Verwendung f# unter Mac OS X und Linux mit Mono ()strangelights.com/fsharp/MonoLinux.aspx) in seinem Blog F#-Ressourcen.

Und wenn Sie ein die-hard Emacs-Benutzer sind, kein Grund zur Verzweiflung: Laurent Le Brun arbeitet an f# IntelliSense in Emacs ()Bit.LY/f3pd8b). Beobachten Sie seinen Blog für Details.

Tools, Vorlagen und Bibliotheken

Es gibt eine Vielzahl von Tools zur Verfügung stellen f# einfacher und leistungsfähiger. Ihre erste Download sollten sich möglicherweise die F#-PowerPacks ()fsharppowerpack.codeplex.com) aus der f#-Entwicklungsteam. Die PowerPacks umfasst die Quelle für f#-Compiler und Code-Bibliothek sowie eine Reihe von weiteren Tools und Bibliotheken. Diese sehen u.a. eine Matrix Bibliothek, Tools für die Lexing und Analysieren von LINQ-basierten Datenzugriff und Tools zum Dokumentieren von F#-Bibliotheken.

FAKE (github.com/forki/FAKE) ist eine Buildautomatisierung System für f# mit Inspiration aus Tools wie Fabrikat und Rake entwickelt. FAKE können Sie die funktionalen Programmiertechniken und direkten Zugang zu nutzen.NET-Assemblys auch integriert sich direkt in die Bearbeitung und Debugfeatures von f#-aware IDEs, wie Visual Studio und SharpDevelop.

Head over auf CodePlex finden Sie ein paar nützliche Tools zum Testen: TickSpec ()tickspec.codeplex.com) ist ein Framework für die Entwicklung von Behavior-Driven, mit dem Sie die Verhaltensweisen in Cornichons (erteilt, wenn, dann), und führen Sie dann die Verhalten für C#- und F-Methoden.

FsUnit ()fsunit.codeplex.com) ist ein Bibliothek Unit-testing. Einfach bewegen Sie die FsUnit.fs-Datei in Ihr Projekt, und starten Sie Schreiben von Testfixtures und Tests zu.

Und FsCheck ()fscheck.codeplex.com) ist ein zufallsgenerierten Testframework basierend auf den Haskell-QuickCheck-Projekt, das Sie können Ihre Spezifikationen in F#-, c# oder Visual Basic schreiben.

Wenn Sie Windows-Telefon-7-Entwicklung interessiert sind, fahren Sie mit der Visual Studio-Galerie und nehmen die F#-Bibliothek für Windows-Telefon (XNA) Vorlage ()Bit.LY/h5sg9h) und f# und c# gewinnen Telefon App (Silverlight) Vorlage ()Bit.LY/fraF4S) für Visual Studio.

Sprechen von Visual Studio erneut, hier sind zwei große Projekte, die Arbeit mit f# wesentlich erleichtert werden: Extender für f#-Projekt ()fsprojectextender.codeplex.com) hilft Organisieren von Dateien in F#-Projekte im Projektmappen-Explorer ohne Kompilierung Reihenfolge; F# Umgestalten ()fsharprefactor.codeplex.com) ist ein Toolset für die Umgestaltung des F#-Codes (diese des nicht ganz bereit für die Produktion Arbeit noch, und ich bin mir sicher, würden sie Ihre Spende; schätzen die Entwicklung Geben Sie etwas zurück in der Gemeinschaft, die hier aufgeführten nützliche Tools gemacht).

Das Web in f#

Websharper ()websharper.com) ist ein Framework für das Schreiben von Webanwendungen in f#. WebSharper 2.1 Beta 5 bringt f#-Kompatibilitätserweiterungen für eine Reihe von gängigen Web-Bibliotheken einschließlich Google Maps, Google-Visualisierung, jQuery, Bing Maps, Modernizr, InfoVis und Protovis.

Zwischen seine viele Beiträge in die Gemeinschaft f#, Tomas Petricek entwickelte F#-Webtools () tomasp.NET/Projects/fswebtools.aspx), derer Sie die Client/Server/Datenbank-Webanwendungen mit f# und LINQ zu erstellen. Achten Sie darauf, dass Sie beobachten () Petriceck's blogtomasp.Net/Blog) für F#-News, Tipps und tricks. Petricek wurde ein Mitglied der Microsoft Research-Team, das erstellt f# und hat somit einen einzigartigen Einblick in die Sprache.

Denken Sie daran, dass wir gesagt haben "Beiträge"? Gut, Petricek auch erstellt F#-Ausschnitte ()fssnip.NET), einer Website können Sie gemeinsam nutzen und F#-Codeausschnitte für Hunderte von Verwendungszwecken leihen. Die Website verfügt über vollständige Syntax-Hervorhebung und der angegebenen Typinformationen.

Spaß Stuff

Es ist nicht alle ernsthaften Dinge in der Welt der f#. In einigen Fällen erstellen Sie etwas nur zum Spaß zu haben. Ich glaube, dass IronJS ()github.com/fholm/IronJS) fällt unter die Bucket. IronJS ist eine schnelle Implementierung von JavaScript in der DLR ausgeführt und in f# geschriebenen. Überprüfen Sie den Code, und mit ihm herumspielen.

Ein bisschen mehr nützlich für Mathematik-Begeisterte und Anzahl Crunchers, VSLab ()vslab.codeplex.com) bietet eine f#-basierte interaktive Visualisierung Umgebung vergleichbar mit Matlab innerhalb von Visual Studio.

image: VSLab Math Visualizations in Visual Studio

VSLab-Math-Visualisierungen in Visual Studio

Gestartet, um sich f# vertraut zu machen, Chris Marinos ein laufenden Projekts aufgerufen F#-Koans ()Bit.LY/hovkxs). Inspiriert von der Ruby-Koans Ansatz für das Erlernen der Sprache Ruby, vermittelt f# Koans Sie die Grundlagen und tieferen Truths von f# durch Tests. Jede Koan-Lösung stellt einen Laufzeitfehler. Ihr Ziel ist es, den immer noch Fehler machen. Kenntnisse in Bezug auf die Sprache f# und funktionalen Programmierung erzielen Sie die Fehler behoben werden. Checken Sie Marinos Blog für weitere F#-Infos an aus chrismarinos.com.

Lesen ist von grundlegender Bedeutung

Viele von uns verlassen sich auf gute altmodische Bücher – und in zunehmendem Maße Ebooks – zum Erlernen neuer Fähigkeiten und Ressourcen, die wir ausführliche Sprache und Implementierung Techniken zu verweisen. Hier sind einige, die Sie beim Hinzufügen von f# zu Ihrer ganzer Fähigkeiten zu eingeschaltet haben.

image: book, Expert F# 2.0

     Experten f# 2.0

"Expert F#-2.0" (Apress, 2010) ()tinyurl.com/4ddksgm), Don Syme, Adam Granicz und Antonio Cisternino, ist eine maßgebliche Anleitung zu der Sprache, die von dem Erfinder dieser Programmiersprache und zwei führenden Mitgliedern der f#-Entwicklercommunity. Sie lernen, wie f# mit verwenden.NET-Technologien einschließlich ASP.NET, LINQ, WPF und Silverlight. Sie können "Expert F#-2.0" in Druck- und e-Book-Formate, einschließlich einer Kindle Edition abrufen.

Eine andere Referenz für Entwickler ist "Programming f#" (O' Reilly, 2009) ()tinyurl.com/4dhl2z9), Chris Smith, wer die f#-Produktentwicklungsteam bei Microsoft gearbeitet. Smith führt Sie durch die Verwendung von f# zur Behandlung von Problemen mit funktionalen, imperativen und objektorientierter Programmiertechniken, alle Funktionen der Sprache zu sehen. Es gibt auch ein Überblick über die f#-Bibliotheken. "Programmierung f#" ist in der Seitenansicht und eine Vielzahl von e-Book-Formate, einschließlich einer Kindle Edition verfügbar.

Fliegende Frosch Consultancy ()ffconsultancy.com) funktionalen Programmierung und technical computing spezialisiert. Das Unternehmen bietet eine Reihe von interesting-Publikationen auf f#, einschließlich "Visual F#-2010für technische Datenverarbeitung,""f# fürnumerische Werte,""f# für Visualisierung" und die monatlichen "F#-Buch.-Blatt". Es hat auch eine Auswahl von anderen Büchern über OCaml und Daten-Analyse-Techniken. Tief Begrüßungsblog Stuff! Vergessen Sie nicht, lesen Sie seine F#-News-Blog()fsharpnews.blogspot.com) für Nachrichten, Analysen, Beispiele und Auftrag Angebote für Entwickler mit Erfahrung in f# und funktionalen Programmierung.

Communityressourcen

Von außen mag es, als ob f# eine Nischentechnologie ist, aber es gibt eine riesige, Begeisterte Community herum wächst. Beteiligen, starten Sie, indem Sie einige dieser beliebten Sites im Web Aufenthaltsort:

Community für F#- ()communityforfsharp.NET) über Live Meeting über einmal monatlich für Präsentationen von Mitgliedern auf der ganzen Welt erfüllt. Vergangene Besprechungen werden auf der Website archiviert.

F# Central ()(fsharpcentral.com) bietet eine Aufrunden der wöchentlichen F#-Community News. Wenn Sie mit den neuesten Artikeln, Veröffentlichungen, Schulungen und Auftrag Möglichkeiten zu halten möchten, zeigen Sie den Browser oder das RSS-Reader direkt hier.

HubFS: der Ort für F#- ()CS.hubfs.NET) hostet ein News feed, Blogs und Diskussionsforen für f#-Programmierer.

Darüber hinaus sind einige wichtigen Personen in der f#-Gemeinschaft, deren Blogs, die Sie für Tipps und Tricks zu Gemüte führen möchten hier:

Gordon Hogenson ()Blogs.msdn.com/gordonhogenson) ist der technischer Redakteur, der größten Teil der MSDN-Dokumentation für f# geschrieben haben.

Luke Hoban ()Blogs.msdn.com/lukeh) war ein Projektmanager für das F#-Team. Obwohl er nun auf die JavaScript-Team arbeitet, er immer noch liebt f# und hat einige großartige Informationen in seinem Blog.

Richard Minerich ()richardminerich.com) ist ein fantastisches Auftrag der Freigabe von Blogbeiträgen und Neuigkeiten über f# und andere interessanten Themen. Sie können ihn auf Twitter auch Folgen für die in Echtzeit F#-Erfahrung (Twitter.com/rickasaurus).

Dan Mohl ()bloggemdano.blogspot.com) ist eine F#-Insider und Microsoft MVP, Blogs, umfassend über f# und Microsoft. Mohl wurde in F#-Stand-verwandte NuGet Pakete, also aktivieren, die ihm Wenn Sie möchten, dass die neuesten Informationen.

Don Syme ()Blogs.msdn.com/dsyme), als derjenige, der f# verwendet seinen Blog gemeinsam nutzen einige großartige Einblicke in die Sprache wie funktioniert und was Sie in Zukunft erwarten können frei. Hier finden Sie auch Neuigkeiten über f# hier.

Terrence Dorsey ist technische Redakteur des MSDN Magazin*.* Sie können seinen Blog unter lesen. terrencedorsey.com oder folgen ihm auf Twitter am Twitter.com/tpdorsey.

Dank an die folgenden technischen Experten für die Überprüfung dieses Artikels: Chris Marinos und Richard Minerich