Bietet F # etwas, das für die datenbankgestützte Webentwicklung besonders nützlich ist?

18

Meine Organisation hat dieses Jahr endlich ein Upgrade auf MS Visual Studio 2010 durchgeführt. Eine der großen neuen Funktionen von Visual Studio 2010 ist die Programmiersprache F #.

Ich verstehe, dass F # ein funktionales Programmierparadigma bietet, ähnlich wie Lisp. Im Gegensatz zu Lisp ist F # jedoch in verwaltetem Code für das .net-Framework kompiliert.

Derzeit arbeite ich in der datenbankgestützten Entwicklung von Webanwendungen. Derzeit arbeite ich mit einer N-Tier-Anwendung mit SQL-Code im Back-End und einer C # .net AJAX-Webanwendung im Front-End. Ich würde gerne wissen, ob F # etwas anbietet, das für diese Art der Entwicklung besonders nützlich wäre.

Reismehl Cookies
quelle
Führt Ihre Software finanzielle oder statistische Analysen durch? Ich sage nicht, dass dies das ist, wofür F # ist (es ist so viel mehr als das), aber es zeichnet sich in diesem Bereich aus und die allgemeine Art von Dingen wie "x rein, y raus".
AndrewC
Übrigens sollten Sie auch die damit verbundene Wartung von in F # geschriebenem Code berücksichtigen. Wirst du Entwickler in der Sprache ausbilden? Sie möchten nicht die einzige Person sein, die einen bestimmten Bereich Ihres Systems versteht.
AndrewC
Es gibt keine finanziellen oder statistischen Analysen. Es ist im Grunde nur eine Aufzeichnung
Kekse

Antworten:

9

F # macht eigentlich nichts, was C # nicht kann. Sie werden letztendlich alle auf dieselbe CLR kompiliert, sodass es keine einzige Technologie gibt, die für Sie erstaunlich nützlich wäre. Sie können sogar F # von C # aus aufrufen und umgekehrt.

Abhängig von den Problemen, die beim Entwerfen von F # auftreten, kann der Code einfacher und präziser sein.

Funktionale Sprachen eignen sich auch sehr gut zum Testen von Einheiten. Dies und die Tatsache, dass es viel weniger veränderbare Daten gibt, bedeutet, dass Ihr Code, wenn er gut geschrieben ist, viel weniger Fehler aufweist.

Ich kann aus eigener Erfahrung sagen, dass das Erlernen von F # Ihre C # -Fähigkeiten verbessern und Ihnen dabei helfen kann, Probleme auf eine neue Art und Weise zu betrachten.

Das Erlernen funktionaler Programmierkonzepte kann auch Ihrem Javascript (das selbst eine funktionale Sprache ist) wirklich helfen.

Tom Squires
quelle
6

Eine Funktion, die in der neuesten Version von F # nicht in C # enthalten ist, sind Typanbieter .

Die von F # -Typanbietern bereitgestellten Typen basieren normalerweise auf externen Informationsquellen. Beispielsweise stellt ein F # -Typanbieter für SQL die Typen, Eigenschaften und Methoden bereit, die Sie benötigen, um direkt mit den Tabellen einer SQL-Datenbank zu arbeiten, auf die Sie Zugriff haben. Ebenso stellt ein Typanbieter für WSDL-Webdienste die Typen, Eigenschaften und Methoden zur Verfügung, die Sie für die direkte Arbeit mit einem WSDL-Webdienst benötigen.

Der SQL Server-Typanbieter ist besonders einfach zu verwenden. Hier ist eine exemplarische Vorgehensweise zur Verwendung.

JonnyBoats
quelle