Wird F # jemals eine Mainstream-Sprache wie C # sein? Oder wird es eine Nischensprache bleiben? [geschlossen]

8
Wird F # jemals eine Mainstream-Sprache wie C # sein? Oder wird es eine Nischensprache bleiben? Sehen Sie irgendwelche Kunden vor, die mit Projekten kommen, die in F # ausgeführt werden?
Wird ein professioneller Programmierer von F # leben können? Welche Art von Nachfrage prognostizieren Sie für F # -Programmierer?

Mit freundlichen Grüßen

    
SharePoint Newbie 12.05.2009, 09:39
quelle

9 Antworten

13

Es gibt Menschen, die heute von funktionaler Programmierung leben. Beispiele finden Sie in den kommerziellen Benutzern des Workshops für funktionale Programmierung , die jedes Jahr abgehalten werden.

Für die erste Version von F # zielt Microsoft auf technische, mathematische, finanzielle und datenverarbeitende Anwendungen ab (wenn ich mich richtig erinnere). Ob das eine Nische ist oder nicht, hängt von Ihrer Perspektive ab :) aber es scheint ein vernünftiger Markt zu sein.

Dank der exzellenten .NET Integration von F # können Sie Ihre Projekte zu einem großen Teil mit F # erstellen. Was sollte Ihr Kunde beachten? Wenn Sie einen Wettbewerbsvorteil in Bezug auf C # -Programmierer bekommen, dann sollten Sie besser hoffen, dass F # nicht den Mainstream erreicht ...

Schließlich sind F # (und Scala) sicherlich Indikatoren dafür, dass zumindest funktionale Programmierung "Mainstream" werden wird. Aber wann wird eine Sprache als Mainstream angesehen? Ich wäre nicht überrascht, wenn es viel mehr Codezeilen in C und COBOL gibt als C #, VB und Java zusammen. Aus der Sicht eines Programmierers ist C # eine Nischensprache. Ich denke, dass Programmiersprachen dank virtueller Maschinen im Allgemeinen immer vielfältiger werden (denke zum Beispiel auch an Ruby, Python und Haskell, die nicht alle kleineren Sprachen wie Clojure, Ioke, ... berücksichtigen).

    
Kurt Schelfthout 12.05.2009, 12:58
quelle
3

Ich kann das nicht sicher beantworten. Sicher ist es sehr subjektiv. Wir können nur abwarten und sehen, was passiert. Aber eins ist sicher. Auch wenn F # eine Minderheitensprache bleibt, werden Ideen und der funktionale Stil der Programmierung nach und nach zu anderen Sprachen hinzugefügt. Sie können nicht sagen, C # 3.0 ist das gleiche wie C # 1.0. Es ist nur eine Frage der Namensähnlichkeit.

    
Mehrdad Afshari 12.05.2009 09:46
quelle
2

Ich denke nicht, dass F # jemals die Popularität von C # oder anderen imperativen Sprachen erreichen wird, weil die meisten Anwendungen zwingend entworfen sind und die meisten Programmierer auf diese Weise denken.

Aber F # bietet viele sehr interessante Features wie LOP, Compiler-Compiler, Berechnungsausdrücke (Async-Workflows), Zitate, Maßeinheiten.

Viele Probleme können viel besser und prägnanter in einer funktionalen Programmiersprache formuliert werden (sehen Sie sich diese F # -Beispiele an, die async {} oder seq {} verwenden) und weil F # ein bisschen Mainstream ist als z. Haskell (es hat das .NET-Framework, das viele Aufgaben vereinfacht und nicht rein funktional ist!), Es wird für viele Programmierer einfacher sein, in die funktionale Programmierung einzusteigen und ihre Vorteile zu erfahren.

Außerdem ist es schwieriger, in F # falschen Code zu schreiben, als z. in C, weil Sie eine gute Typprüfung haben, viele starke Typen, die vom Compiler und unveränderlichen Werten betroffen sind - Sie können intuitiv die Korrektheit eines funktionalen Algorithmus, der oft in einem imperativen schwer ist, beweisen. Denken Sie nur an diesen Code, der die Anzahl der Nullen in einem Array zählen soll:

%Vor%

Das alles sind Faktoren, die die Leute dazu bringen, F # zu benutzen. Der Rest ist Marketing (Microsoft sollte eine F # Express Edition in VS2010 haben !!)

    
Dario 12.05.2009 18:10
quelle
1

Ich kann nicht sehen, dass funktionale Sprachen insgesamt Mainstream werden. Letztlich wird alles, was einer rein menschlichen menschlichen Denkweise fremd ist, niemals zum Mainstream werden.

Funktionale Programmierung wird jedoch mehr als eine Nische sein. Ihre Vorteile in Bezug auf die Darstellung eines Problems, das über mehrere Prozessoren gelöst werden kann, sind überzeugend. Was ich sehe, sind F # -Bibliotheken für bestimmte Zwecke und / oder F # -Konzepte, die nach C # migrieren.

    
AnthonyWJones 12.05.2009 09:48
quelle
1

Ich bin nicht der Experte, aber ich denke, einer der Vorteile von funktionaler Programmierung ist die relativ schmerzlose Annäherung an Parallelität und Multicore-Verarbeitung. Daher im Hinblick auf die jüngste Ankündigung von Microsoft in diesem Bereich, nämlich Axum Ссылка , die eine andere ist Ansatz zur parallelen Programmierung, bezweifle ich wirklich, dass F # jemals Mainstream werden wird. Wenn Axum angenommen wird, wird es wahrscheinlich in C # integriert (wie Code Contracts von Lab nach C # 4.0 verschoben) und F # wird nur in sehr spezifischen Domänen verwendet.

    
Karol Kolenda 12.05.2009 10:18
quelle
0

Ich sehe es nicht, bis Funktionale Programmierung Mainstream wird.

    
TheVillageIdiot 12.05.2009 09:42
quelle
0

OTOH, wenn du F # aufnimmst, das ist ein weiterer Mainstream-Programmierer an Bord ....

Es zu vermeiden, ist eine sich selbst erfüllende Prophezeiung.

    
Michael Paulukonis 14.05.2009 14:44
quelle
0

Das Schöne an F # ist die mächtige Kombination von Programmierparadigmen, die es erlaubt. Sie können die meisten Ihrer Programme im funktionalen Stil schreiben - kurz, elegant und frei von Nebenwirkungen (häufige Fehler). Wenn Sie jedoch auf ein Problem stoßen, das Sie nicht funktional lösen können, können Sie einen kurzen Abschnitt des imperativen Codes eingeben, um darüber zu gelangen. Es ist auch sehr einfach, Abschnitte Ihres Codes asynchron zu markieren, und er wird dann parallel ausgeführt, wenn Sie mehrere Kerne / Prozessoren haben. Die Lösung wird viel einfacher sein als ein C # -Aquivalent. Nachdem ich Zeuge eines Demos von einem der Entwickler von F # geworden war, hatte ich den Eindruck, dass es gelungen ist, großartige Features von Python und Erlang zu extrahieren. F # wird wahrscheinlich als .NET-Antwort auf diese beiden Klassen von Sprachen angeführt und könnte schließlich einen vergleichbaren Grad an Mainstream-Akzeptanz erreichen.

    
kimsnarf 14.05.2009 19:49
quelle
-3

In der Geschäftsentwicklung wird es niemals passieren. Es ist einfach zu schwer, so dass der durchschnittliche LOB-Entwickler es niemals aufrechterhalten kann. In High-End-Softwareunternehmen könnte es jedoch passieren.

    
erikkallen 12.05.2009 10:09
quelle

Tags und Links