Was nun zu lernen ist: F # oder LINQ

8

Ich habe gerade angefangen, meine Füße nass von C # und .NET zu machen, ich mag es bisher. Ich denke, ich habe das Hauptmerkmal der C # -Sprachkonstrukte, also welche Technologie sollte ich als nächstes verwenden: F # oder LINQ?

Ich ziele sowohl auf die "Erweiterung meines Horizontes" in der Programmierung als auch auf die "Verbesserung meines Lebenslaufs" in keiner bestimmten Reihenfolge.

UPDATE: Nachdem ich deine Antworten gelesen habe, lese ich bis jetzt LINQ, da dies ein "Muss für alle .NET Programmierer" ist. Ich lasse die Frage ein wenig offen, nur um noch mehr zu sehen. Danke für deine Antworten.

UPDATE 2: Ok, also wenn du deine Antworten liest, scheint LINQ die einfachste Lernkurve zu haben und gilt für C # und F #, also wird die mit LINQ verbrachte Zeit nicht "verschwendet", auch wenn ich schließlich mit F # gehe. Nochmals vielen Dank für Ihre Antworten.

    
S.C. Madsen 04.03.2010, 07:39
quelle

8 Antworten

19

LINQ ist keine Programmiersprache im Vergleich zu F #, aber Sie sollten LINQ lernen, da es Ihr Leben in C # und F # einfacher macht.

    
Aurril 04.03.2010, 07:43
quelle
6

Es hängt davon ab, was Sie tun müssen.

Wenn Sie WPF-Anwendungen oder ASP.NET- oder Silverlight-Anwendungen für das Internet erstellen möchten, tauchen Sie weiter in C # und LINQ ein. Wenn Sie wissenschaftliche, finanzielle Zahlenanalyse-Anwendungen erstellen möchten, gehen Sie mit F #. Wenn Sie nur Spaß haben wollen, gehen Sie mit beiden: -)

Beachten Sie, dass der Aufwand zum Erlernen von LINQ und der Aufwand zum Erlernen von F # um Größenordnungen voneinander getrennt sind: LINQ ist im Wesentlichen nur eine Bibliothek und spezielle Syntax zum Erstellen von Abfragen, und wenn Sie SQL schreiben, werden Sie es sehr finden leicht zu fassen. Auf der anderen Seite, wenn Sie es gewohnt sind, in Sprachen wie C # zu programmieren, erfordert das Mastering von F # einen Paradigmenwechsel. Somit ist F # auch die Technologie, die Ihren Horizont am meisten erweitert (abhängig von Ihren aktuellen Fähigkeiten natürlich).

    
Rune 04.03.2010 07:53
quelle
3

Linq und F # sind sehr unterschiedlich.

F # ist eine eigenständige Sprache, aber linq ist ein Werkzeug oder eine Funktion, die Sie in der Sprache verwenden können.

Linq ist fantastisch und wird Ihre Entwicklung in vielen Bereichen vereinfachen und Sie auf lange Sicht produktiver machen.

Linq ist ein Muss für alle Dotnet-Entwickler.

Hier ist ein Link, der einige der Möglichkeiten zeigt, wie Sie linq verwenden können Linq 101

    
SetiSeeker 04.03.2010 07:50
quelle
3

Ich verbrachte einige Zeit mit F # als Hobby, bevor ich Gelegenheit hatte, C # 3 für die Arbeit zu lernen. Es stellte sich heraus, dass ich LINQ bereits stark in meinem F # -Code verwendete, ohne es in Form von Sequenzausdrücken zu kennen. Als ich LINQ kennenlernte, erkannte ich es sofort und verstand sofort das Prinzip der verzögerten Ausführung.

Wenn Sie also F # lernen, kennen Sie LINQ bereits. Sie müssen dann nur die Syntax nachschlagen.

Außerdem lernen Sie, wie man idiomatische F # programmiert, wie man wie ein funktionaler Programmierer denkt. Zu wissen, wie man mit Rekursion, Memoisierung und unveränderlichen Werten programmiert, wird Ihnen auch helfen, saubereren C # -Code zu erstellen (natürlich mit LINQ). Das ist meine Erfahrung.

    
cfern 04.03.2010 09:07
quelle
2

LINQ (Language Integrated Query) ist eine kleine eingebettete Sprache in C #, mit der Sie auf sehr natürliche Weise mit Objektgruppen umgehen können, z. B.

%Vor%

Dies ist ein gültiges C #, LINQ ist einfach ein weiteres Merkmal der Sprache, das es mit VB teilt. Verwandte Technologien verwenden LINQ, um auf den Datenbankspeicher zuzugreifen (LINQ-zu-SQL LINQ-zu-NHibernate usw.) oder andere interessante Dienste (wie Amazon oder Ebay usw.), aber LINQ selbst kann aus der Sprache von C # selbst gelernt werden (LINQ-to -Objekte), ohne mit Datenbanken oder Ähnlichem spielen zu müssen.

F # andererseits ist eine vollständige "funktionale" Sprache und obwohl es eine allgemeine Sprache ist, ist es besonders gut im Umgang mit großen Sammlungen von Dingen, Map-reduce-Style-Problemen und rekursiver Verarbeitung.

Zusammenfassend würde ich empfehlen, zuerst LINQ zusammen mit den anderen Sprachfunktionen in C zu verwenden, die Sie möglicherweise verpasst haben (LINQ führt Sie auch durch Lambda-Ausdrücke, anonyme Typen und das var-Schlüsselwort, falls noch nicht aufgetreten) Bewegen Sie sich zu einem späteren Zeitpunkt auf F # als neues Lernprojekt. Als C # -Entwickler verwende ich LINQ jeden einzelnen Tag in meinem Code.

Ich hoffe, das hilft.

    
Chris Meek 04.03.2010 08:26
quelle
1

IMHO

F # und dann LINQ

    
Pratik Deoghare 04.03.2010 07:59
quelle
0

Beide sind nett zu meistern.

    
Benny 04.03.2010 07:46
quelle
0

Warum nicht andere Frameworks im .NET-Bereich wie WCF, WPF, ASP.net MVC, einige .Net ORM usw.? F # ist für die funktionale Programmiersprache auf .Net-Plattform. Wenn Sie keine andere funktionale Programmiersprache verwendet haben, ist das ein anderes Paradigma und die Lernkurve wird steiler als die für LINQ. Der beste Weg, um LINQ zu lernen, ist IMHO, um es in einem Spielzeug- oder realen Projekt zu verwenden, in dem Sie die C # - und SQL-Server-Datenbank verwenden. LINQ hat nicht viel neuen syntaktischen Zucker Während das obige auch für das Lernen von F # gilt, können Sie Programmierübungen lösen oder Euler-ähnliche Rätsel mit F # programmieren, um sich mit den Programmierkonstrukten vertraut zu machen.

    
CruiZen 04.03.2010 07:53
quelle

Tags und Links