Quelles sont les applications bien connues écrites en F #? [fermé]

13

Dans le cadre d'une quête continue de connaissances, je passe du temps cette semaine à apprendre les bases de F # comme introduction à la programmation fonctionnelle. Je pense que je comprends la construction de logiciels sous ce modèle et certains des avantages proposés, mais je suis encore un peu flou sur les cas d'utilisation réels.

J'espérais qu'une réussite F #, ou au moins quelques applications que je connais, pourrait clarifier un peu le moment où F # (ou tout langage de programmation fonctionnel) serait approprié pour un projet.

Revenons donc à la question: quelles sont les applications bien connues qui utilisent F # ou un langage de programmation fonctionnel similaire?

BTW: Je suis également ouvert à entendre parler de certaines applications moins connues, mais si vous en mentionnez une, veuillez donner les principes de base de l'application et pourquoi la langue utilisée était le choix approprié.

JohnFx
la source
Je suis curieux à ce sujet. Je pensais que F # était un langage orienté mathématiques MS Dept. Il serait intéressant de voir s'il existe des programmes reconnaissables qui l'utilisent. Je doute qu'il existe des programmes «bien connus» entièrement en F #.
Kavet Kerek
1
Cette question semble être hors sujet car il s'agit d'une question basée sur un sondage.
jet.com, une start-up de commerce électronique initialement écrite en F # a été achetée par Walmart il y a quelques années pour 3 $ + milliards
KolA

Réponses:

8
  • L'ensemble du système F # (compilateur, bibliothèques et outils)
  • IronJS (déjà mentionné)
  • L'algorithme XBox Live TrueSkill, ainsi que l'ensemble du système de réalisations, le système de classement et le système de matchmaking qui l'entoure

Je suppose que la principale raison pour laquelle il n'y a pas d'applications "bien connues" écrites en F #, c'est parce qu'il faut des années, voire des décennies pour devenir "bien connues" et F # n'est tout simplement pas si vieux pour le moment.

Cependant, l'écrasante majorité des demandes n'est pas "bien connue". Il n'y a qu'un seul PowerPoint, mais il y a littéralement des millions d'applications de paie internes personnalisées manuscrites.

Et F # est certainement utilisé en interne dans de nombreuses sociétés financières, faisant de l'informatique scientifique et numérique dans, disons, la biotechnologie ou la greentech, faisant des statistiques Dieu sait où et ainsi de suite. Ces applications ne sont pas bien connues, soit parce qu'elles ne sont tout simplement pas "sexy" ou souvent parce que les entreprises considèrent F # comme leur arme secrète qui leur donne un avantage concurrentiel. (OCaml, Smalltalk et APL remplissent des rôles similaires. De nombreuses sociétés financières utilisent APL, par exemple, mais elles ne le font pas largement connaître. pour le faire connaître même s'ils le voulaient.)

Jörg W Mittag
la source
1
Selon Wikipedia, F # a 8 ans. PHP, Java, C # étaient tous utilisés dans des applications bien connues bien avant d'atteindre cet âge. C #, par exemple, est sorti en 2001. Et son F # assez clair a plus d'un an de retard sur C # en termes d'utilisation.
GrandmasterB
5
@GrandmasterB: Ce n'est peut-être pas exactement une évaluation juste. F # n'était qu'un projet expérimental jusqu'à sa production en VS2010, bien qu'il soit viable en 2008. Je ne l'appellerais donc pas exactement 8 ans.
Robert Harvey
3

Il y a des Tabbles . Un gestionnaire de fichiers et un organisateur, avec beaucoup de fonctionnalités. Il fournit un système de marquage que vous pouvez même partager avec d'autres. C'est un produit commercial.

Kaveh Shahbazian
la source
1

Je me suis demandé la même chose pendant un certain temps. J'aime vraiment F # mais je n'ai rien vu dans le domaine d'une application commerciale. Ce que j'ai entendu (et assez souvent), c'est que F # a été beaucoup utilisé dans le domaine financier.

Quels cadres Web décents existent pour la programmation fonctionnelle? a quelques exemples de frameworks web pour les langages de programmation fonctionnels et je sais http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspx est un article comment écrire un ASP.Net MVC 2 Application Web en F #.

Alors que je cherchais des articles sur F # et de nombreux exemples et les éloges des gens sont venus sous la forme d'analyseurs de journaux. Mais cela est toujours suivi d'une mise en garde de quelque chose comme «Je ne suis pas autorisé à utiliser la langue au travail» (paraphrasé bien sûr). Je vais essayer de trouver plus d'exemples.

J'ai joué avec l'idée de créer un MUD (donjon multi-utilisateurs) basé sur du texte en F # mais je ne semble jamais avoir le temps.

Jetti
la source
MUD == Donjon multi-utilisateurs?
Robert Harvey
@Robert Harvey - ce serait correct. Je vais modifier cela pour ceux qui ne savent pas.
Jetti
J'ai oublié d'ajouter WebSharper. Il permet aux développeurs de créer des sites Web entièrement en F #.
Jetti
0

J'ai brièvement regardé F # lorsque j'ai voulu écrire un analyseur SQL, que j'ai fini par implémenter dans Haskell. Cela dit, vous pouvez utiliser F # partout où vous utiliserez C #, mais cela en vaut-il la peine? Si vous faites beaucoup de programmation fonctionnelle, l'utilisation de F # en vaudra la peine, car la syntaxe des constructions fonctionnelles est plus conviviale. Si vous faites principalement OO, il est probablement préférable de rester avec C #.

Larry Coleman
la source
Je suis d'accord avec Larry Coleman. Pourquoi quelqu'un ferait-il quelque chose en F # alors qu'il peut le faire en C #? Je pense qu'il est prudent de dire que la majorité des fois où F # est bénéfique par rapport à C #, ce n'est pas dans une situation d'application commerciale.
Jetti
1
Je pense que c'est aussi largement le point de vue des États membres. C # et VB.NET ont été présentés comme / ou l'un à l'autre, mais je pense que l'objectif avec F # (et dans une moindre mesure, des langages comme IronPython et Boo) est d'encourager la programmation polyglotte: utiliser différents langages avec des fonctionnalités uniques pour résoudre différents types de problèmes.
CodexArcanum
@Jetti F # est très bon pour tout type de traitement de données, pour l'analyse syntaxique et pour tout champ lourd en calculs où l'exactitude est importante. La programmation fonctionnelle en général offre un niveau d'expressivité qui rend de nombreux types de programmes très faciles à écrire. Rien de tout cela n'est très visible, des choses frontales comme un site Web ou une application GUI, des domaines où C # excelle. Vous pouvez utiliser LINQ pour obtenir une partie du FP en C #, mais F # est un langage plus naturel pour exprimer un tel code.
CodexArcanum
@CodexArcanum - Je suis entièrement d'accord avec vous. Je suppose que je trompais "Application commerciale", j'aurais dû dire "Application grand public quotidienne (c.-à-d. Office, Firefox, etc.)"
Jetti
1
@Jetti: Je recommanderais Haskell plutôt que F # si vous êtes intéressé à apprendre la programmation fonctionnelle. Vous l'apprendrez plus rapidement car vous ne pourrez pas faire de procédure ou d'OO.
Larry Coleman
0

Iron JS .

Personnellement, je pense qu'il est étrange que la seule application que je connaisse qui soit écrite en F # soit quelque chose qui vous permette d'écrire dans une langue autre que F #.

Pour moi, cela en dit long sur la vraie valeur de la programmation fonctionnelle. Les gens peuvent célébrer à quel point ils sont "beaux" - s'ils étaient si beaux, les gens les utiliseraient davantage.

riwalk
la source
Je ne suis pas d'accord avec votre dernière déclaration. Les gens utilisent F #, en fait, ils l'utilisent tellement qu'il est devenu une partie de Visual Studio 2010. F # a été adopté dans le secteur financier tout comme Erlang a été adopté dans les télécommunications. Ce n'est pas parce que je peux écrire une application en F # que je vais le faire. La langue (et les langues de PF en général) ont leurs forces et leurs faiblesses et elles seront donc largement utilisées dans des domaines qui peuvent bénéficier de leur force!
Jetti
@Jetti, bien sûr. Cela fait plus de 30 ans que la programmation fonctionnelle a été conçue, mais je suis sûr que cela va forcément faire tomber la programmation procédurale de son piédestal de jour en jour. Je ne dis pas que cela n'a pas de mérites - certaines choses peuvent être faites de manière très élégante avec des fonctionnalités. Ce que je dis, c'est qu'il ne dominera jamais.
riwalk
@ Stargzer712 - Je suis d'accord qu'il ne dominera jamais et pour une bonne raison aussi.
Jetti