Welche bekannten Anwendungen sind in F # geschrieben? [geschlossen]

13

Im Rahmen meiner ständigen Suche nach Wissen verbringe ich diese Woche einige Zeit mit dem Erlernen der Grundlagen von F # als Einführung in die funktionale Programmierung. Ich glaube, ich verstehe die Konstruktion von Software unter diesem Modell und einige der vorgeschlagenen Vorteile, bin aber in Bezug auf die realen Anwendungsfälle immer noch ein wenig unsicher.

Ich hatte gehofft, dass F # -Erfolgsgeschichten oder zumindest einige mir vertraute Anwendungen etwas klarer machen könnten, wann F # (oder eine funktionale Programmiersprache) für ein Projekt geeignet ist.

Zurück zur Frage, was sind wohlbekannte Anwendungen, die F # oder eine ähnliche funktionale Programmiersprache verwenden?

Übrigens: Ich bin auch offen für einige weniger bekannte Apps, aber wenn Sie eine erwähnen, geben Sie bitte die Grundlagen an, worum es in der App geht und warum die verwendete Sprache die richtige Wahl war.

JohnFx
quelle
Darauf bin ich neugierig. Ich dachte, F # sei eine mathematikorientierte MS Research Dept-Sprache. Es wäre interessant zu sehen, ob es Programme gibt, die es verwenden und die erkennbar sind. Ich bezweifle, dass es 'bekannte' Programme gibt, die allerdings nur F # sind.
Kavet Kerek
1
Diese Frage scheint nicht zum Thema zu gehören, da es sich um eine umfragebasierte Frage handelt.
Jet.com, E-Commerce-Startup ursprünglich in F # geschrieben wurde von Walmart vor ein paar Jahren für $ 3 + Milliarden gekauft
KolA

Antworten:

8
  • Das gesamte F # -System (Compiler, Bibliotheken und Tools)
  • IronJS (bereits erwähnt)
  • Der XBox Live TrueSkill-Algorithmus sowie das gesamte Achievements-System, das Rangfolgesystem und das dazugehörige Matchmaking-System

Ich denke, der Hauptgrund, warum es in F # keine "bekannten" Anwendungen gibt, ist, dass es Jahre, sogar Jahrzehnte dauert, um "bekannt" zu werden, und F # ist einfach noch nicht so alt.

Die überwiegende Mehrheit der Anwendungen ist jedoch nicht "bekannt". Es gibt nur eine PowerPoint-Datei, aber es gibt buchstäblich Millionen von handgeschriebenen, kleinen, einmaligen Inhouse-Gehaltsabrechnungs-Apps.

Und F # wird sicherlich intern in vielen Finanzunternehmen eingesetzt, wo wissenschaftliche und numerische Berechnungen durchgeführt werden, zum Beispiel in der Biotechnologie oder der Grüntechnologie. Diese Anwendungen sind nicht bekannt, entweder weil sie einfach nicht "sexy" sind oder weil die Unternehmen F # als ihre Geheimwaffe betrachten, die ihnen einen Wettbewerbsvorteil verschafft. (OCaml, Smalltalk und APL besetzen ähnliche Rollen. Viele Finanzunternehmen verwenden beispielsweise APL, machen dies jedoch nicht allgemein bekannt. Oft sind die APL-Benutzer nicht einmal Programmierer und wissen daher nicht einmal, wo und wie es zu veröffentlichen, auch wenn sie wollten.)

Jörg W. Mittag
quelle
1
Laut Wikipedia ist F # 8 Jahre alt. PHP, Java, C # wurden alle in bekannten Anwendungen verwendet, lange bevor sie dieses Alter erreichten. C # kam zum Beispiel im Jahr 2001 heraus. Und sein ziemlich klares F # liegt mehr als ein Jahr hinter C # in Bezug auf die Verwendung.
GroßmeisterB
5
@GrandmasterB: Das ist vielleicht nicht gerade eine faire Einschätzung. F # war nur ein experimentelles Projekt, bis es in VS2010 produziert wurde, obwohl es 2008 realisierbar war. Ich würde es also nicht genau 8 Jahre alt nennen.
Robert Harvey
3

Es gibt Tabellen . Ein Dateimanager und Organizer mit vielen Funktionen. Es bietet ein Tagging-System, das Sie sogar mit anderen teilen können. Es ist ein kommerzielles Produkt.

Kaveh Shahbazian
quelle
1

Ich habe mich eine Weile gewundert, dasselbe zu wissen. Ich mag F # sehr, habe aber noch nichts im Bereich einer kommerziellen App gesehen. Was ich gehört habe (und ziemlich oft) ist, dass F # im Finanzbereich viel benutzt wurde.

Welche vernünftigen Web-Frameworks gibt es für die funktionale Programmierung? hat einige Beispiele für Web-Frameworks für funktionale Programmiersprachen und ich kenne http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspx ist ein Artikel zum Schreiben einer ASP.Net MVC 2 Web App in F #.

Da ich Artikel über F # gesucht habe und viele Beispiele und das Lob der Leute in Form von Log-Parsern gekommen ist. Daran schließt sich aber immer ein Vorbehalt an: "Ich darf die Arbeitssprache nicht benutzen" (umschrieben natürlich). Ich werde versuchen, weitere Beispiele zu finden.

Ich habe mit der Idee gespielt, ein textbasiertes MUD (Multi-User Dungeon) in F # zu erstellen, aber ich scheine nie die Zeit zu haben.

Jetti
quelle
MUD == Multi User Dungeon?
Robert Harvey
@ Robert Harvey - das wäre richtig. Ich werde das für diejenigen ändern, die es nicht wissen.
Jetti
Ich habe vergessen, WebSharper hinzuzufügen. Entwickler können Websites vollständig in F # erstellen.
Jetti
0

Ich habe mir kurz F # angesehen, als ich einen SQL-Parser schreiben wollte, den ich schließlich in Haskell implementierte. Das heißt, Sie könnten F # überall dort verwenden, wo Sie C # verwenden würden, aber wäre es das wert? Wenn Sie viel funktionales Programmieren betreiben, lohnt sich die Verwendung von F #, da die Syntax für funktionale Konstrukte freundlicher ist. Wenn Sie meistens OO machen, ist es wahrscheinlich besser, sich an C # zu halten.

Larry Coleman
quelle
Ich stimme Larry Coleman zu. Warum sollte jemand etwas in F # machen, wenn er es in C # kann? Ich denke, es ist sicher zu sagen, dass die Mehrheit der Fälle, in denen F # gegenüber C # von Vorteil ist, nicht in einer kommerziellen App-Situation vorliegt.
Jetti
1
Ich denke, dies ist größtenteils auch die MS-Perspektive. C # und VB.NET wurden als entweder / oder zueinander präsentiert, aber ich denke, das Ziel von F # (und in geringerem Maße von Sprachen wie IronPython und Boo) ist es, die Polyglot-Programmierung zu fördern: Verwenden verschiedener Sprachen mit einzigartigen Merkmalen, um unterschiedliche Probleme zu lösen Arten von Problemen.
CodexArcanum 18.11.10
@Jetti F # eignet sich für jede Art der Datenverarbeitung, zum Parsen und für jedes rechenintensive Feld, in dem es auf Korrektheit ankommt. Funktionale Programmierung im Allgemeinen bietet ein Maß an Ausdruckskraft, mit dem sich viele Arten von Programmen sehr einfach schreiben lassen. Nichts davon ist sehr sichtbar, Front-End-Sachen wie eine Website oder eine GUI-Anwendung, Bereiche, in denen sich C # auszeichnet. Sie können LINQ verwenden, um einen Teil des FP in C # abzurufen, aber F # ist eine natürlichere Sprache, um solchen Code auszudrücken.
CodexArcanum 18.11.10
@CodexArcanum - da stimme ich Ihnen voll und ganz zu. Ich schätze, ich habe "Commercial App" verwechselt. Ich hätte "Everyday Consumer Application (z. B. Office, Firefox usw.)" sagen sollen
Jetti
1
@ Jetti: Ich würde Haskell gegenüber F # empfehlen, wenn Sie daran interessiert sind, funktionale Programmierung zu lernen. Sie werden es schneller lernen, weil Sie nicht in der Lage sind, prozedurale oder OO darin zu tun.
Larry Coleman
0

Eisen JS .

Ich persönlich finde es seltsam, dass die einzige mir bekannte Anwendung, die in F # geschrieben ist, es Ihnen ermöglicht, in einer anderen Sprache als F # zu schreiben.

Für mich sagt das viel über den wahren Wert der funktionalen Programmierung aus. Die Leute können feiern, wie "schön" es ist, was sie wollen - wenn es so schön wäre, würden die Leute es mehr benutzen.

riwalk
quelle
Ich bin mit Ihrer letzten Aussage nicht einverstanden. Die Leute verwenden F # tatsächlich so oft, dass es zu einem Teil von Visual Studio 2010 geworden ist. F # wurde im Finanzsektor genauso übernommen wie Erlang in der Telekommunikation. Nur weil ich eine App in F # schreiben kann, heißt das noch lange nicht, dass ich es tun werde. Die Sprache (und die FP-Sprachen im Allgemeinen) haben ihre Stärken und Schwächen und werden daher in Bereichen weit verbreitet sein, in denen sie von ihren Stärken profitieren können!
Jetti
@ Jetti, klares Ding. Es ist über 30 Jahre her, seit die funktionale Programmierung konzipiert wurde, aber ich bin sicher, dass sie die prozedurale Programmierung jetzt jeden Tag vom Podest werfen wird. Ich sage nicht, dass es einige Vorzüge nicht hat - einige Dinge können mit funktional ganz elegant gemacht werden. Was ich bin zu sagen ist , dass es nie dominieren.
Riwalk
@ Stargzer712 - Ich bin damit einverstanden, dass es niemals dominieren wird und das aus gutem Grund auch.
Jetti