Dieser Artikel wurde maschinell übersetzt.

Anmerkung des Herausgebers

F-Sharp Focus

Keith Ward

Keith WardF# ist eine Programmiersprache wachsenden und immer wichtiger. Viele Entwickler verwenden es jeden Tag; viele weitere sollten sie regelmäßig verwenden.

Gerade beschäftigt Typen, jedoch kann es schwierig finden, um eine neue Sprache lernen – es ist schwer genug, beim Abrufen der täglichen Arbeit fertig. Deshalb habe ich Don Syme gefragt, der Ersteller des F# und seinem Team Crack F# Fragen beantworten ich höre Leute Fragen.

Warum wurde F# erstellt? Was braucht dient es?

Moderne Unternehmen hat eine Reihe von Softwareanforderungen, die die herkömmlichen passen "Unternehmensanwendungen" IT-Modell. Beispielsweise umfasst Finanzmodellierung quantitative Finance-Domänenexperten ("Quants"), die zum Schreiben und Bereitstellen von Modellen, die den Wert und die Gefahr der Marktposition analysieren müssen. Sie können diese Personen als ein Beispiel für einen Domäne-orientierte Programmierer vorstellen.

Es gibt viele ähnliche Beispiele in modernen Unternehmen und Start-UPS, einschließlich maschinelles lernen, statistische, parallele, wissenschaftliche und algorithmische Experten; Diese Personen sind oft das Herzstück der moderne Software-Teams.

Domain-Programmierer sind immer auf der Suche für Tools, die Verbesserung der Produktivität, Leistung und Stabilität im Gleichgewicht und analytische Skriptsprachen oft als Teil ihrer Arbeit zu nutzen. Dynamisch typisierte scripting-Sprachen sind in vielerlei Hinsicht groß, aber zu tatsächlichen Problemen führen können. Beispielsweise kann zu Problemen führen, wie Anwendungen in der Größe anwachsen. Oft sie gute visual Tooling haben – beispielsweise keine IntelliSense – und möglicherweise nicht sehr leistungsfähigen bei frischem Code in der Sprache geschrieben ist. Schließlich nicht Komponenten live in Isolation und letztendlich als gekapselte Softwarekomponenten im größeren Kontext bereitgestellt werden müssen.NET-Systemen.

Beim Betrachten der Beispiele in der Branche häufig benötigt wird eine einfache, Teambesprechungen, effiziente und typisierte Sprache, die Math-orientierte ermöglicht und Domain-Experten in ihrer Problemdomäne arbeiten – statt in einer objektorientierten (OO) Klasse ausgerichteten Code verloren gehen – während noch professionelle Software-Komponenten, die gut zusammenarbeiten. Das ist, in dem F# passt. Diese Art von Tool macht letztlich Domänenexperten glücklicher und produktiver Mitglieder des Softwareteams von.

Das besondere an F# ist, dass wir die Vorteile der dynamic Language (schnelle Entwicklung und Prägnanz) optimal verwalten unter Beibehaltung auch weiterhin die Vorteile der stark typisierte Sprachen (Stabilität, Leistung und visuelle Tooling) im Kontext einer hochgradig interoperabel Plattform.

Was sind die häufigsten Szenarien für die Verwendung von F#?

F# können praktisch verwendet werden, aber es zeichnet sich was nennen wir "analytische Komponentenentwicklung". Dazu gehören - und Markt-Finanzanalyse-Module (einschließlich Event-driven), serverseitige maschinelles lernen-Komponenten und andere umfassende Analysen. Stehen mehrere Beispiele für gute Fallstudie auf der Microsoft-Websites.

Einige interessante Beispiele außerhalb der Finanzabteilung sind die Verwendungen von F# in Energy trading Bing Werbung, Projekt-Emporia (ein basierend auf Machine learning Techniken personalisierte News-Auswahl-Dienst) und in der künstlichen Intelligenz-Engine von den "Pfad des Go" Spiel. Alle diese anzeigen, in denen F# auszeichnet: analytische Motoren im Kontext der Professional.NET Software Delivery.

Was sind die wichtigsten Vorteile, die F# über C# und C++ hat?

F# unterscheidet sich in vielen wichtigen Punkten von C#. Technisch gesehen, sind einige der Dinge, die Sie feststellen, die funktionale erste Methodik und Language Features (z. B. Tupel, Listen und Mustervergleich); die starken Fokus auf unveränderliche Daten; die Einbeziehung der Schlüssel eingeben Features relevante wissenschaftliche und numerische Programmierung (einschließlich F# Einheiten); die zunehmende Nutzung von Ausdrücken als eine Form der Wiederverwendung von Software (einschließlich Sprachfeatures wie Object-Ausdrücke); die prägnanten Darstellung OO-Programmierung; das Modell deklarative und Zusammensetzung der asynchronen Programmierung (eine Version davon wird angezeigt, in der nächsten Version von C#); und die Aufnahme eines dynamische, interaktive Compilers für die Skripterstellung interaktive F# aufgerufen.

F# können für C- und C++-Programmierern überraschend intuitiv sein. Vielleicht ist das, was sie die meisten sehen der Unmittelbarkeit der Programmierung mit interaktiven F# – einige C++-Leute sind überrascht, dass es so einfach ist, Ihre Hände auf Daten zu erhalten und mit ihm in eine stark typisierte Sprache, während noch immer große Leistung spielen. Software wird Spaß und explorative wieder.