Dupliquer possible:
[.____] Quelles sont certaines applications bien connues écrites dans F #?
Je vois beaucoup de gens à parler de la façon dont la programmation fonctionnelle cool est, à quel point Lisp et Haskell et F # sont géniaux, etc., mais ce que je ne vois pas, c'est qu'ils sont réellement utilisé. À peu près chaque programme sur mon ordinateur est écrit dans quelque chose dans la famille C, Delphi ou Python. Je vois des tutoriels en train de parler à quel point il est facile d'utiliser des langues fonctionnelles pour faire des problèmes de mathématiques compliqués, mais personne ne parle de les utiliser pour faire les choses que la plupart des gens se soucient d'utiliser des ordinateurs, tels que des applications et des jeux d'entreprise.
Quelqu'un a-t-il des exemples de programmes réels que les gens ont entendu et utilisent, écrit dans une langue fonctionnelle? Le seul que je puisse penser au sommet de ma tête est abus , il y a presque 15 ans. (Des choses comme Emacs, où le programme de base est écrit en C avec une couche de script de langue fonctionnelle sur le dessus, ne comptez pas.)
Je ne connais pas beaucoup de jeux ou d'applications d'utilisateur final écrits dans des langages fonctionnels, bien que je suis sûr qu'il en existe. Les jeux et les applications d'utilisateur final, bien que une partie importante et visible du marché des logiciels n'en sont qu'une partie. Rappelez-vous, il y a énormes des quantités de logiciels là-bas que vous ne voyez jamais car il s'agit de processus d'orchestration qui ne disposent pas d'une application d'utilisateur finale ou d'interfaces de jeu.
Par exemple, F # est populaire au Credit Suisse pour une analyse quantitative:
http://blogs.msdn.com/b/dsyme/archive/2010/07/15/f-jobs-at-credit-suisse-london.aspx
Sauf si vous travaillez là-bas, vous n'allez probablement jamais voir l'interface utilisateur sur ce logiciel.
Ou, Erlang est populaire pour écrire le logiciel qui contrôle les commutateurs de téléphones mobiles:
http://fr.wikipedia.org/wiki/erlang_ (programmation_language )
Vous ne pensez probablement pas à faire un appel téléphonique comme une application, mais une personne devait écrire le logiciel qui contrôle le commutateur.
Avez-vous déjà utilisé un site Web moderne, beaucoup de JavaScript, des tonnes de personnes utilisant jQuery?
Eh bien, c'est efficacement une langue fonctionnelle, des fermetures, des fonctions comme des objets de première classe, etc.
Partout, des millions d'utilisateurs jour après jour.
erlang est utilisé à - Facebook , Yahoo , et Amazon . Il est également en cours d'exécution dans Ericsson et Nortel EPBX (Bourse publique électronique BRANCH EXCHANGE) Telecom avec des heures de disponibilité ridicules. Couchdb est écrit à Erlang, comme c'est Ejabberd . Il y en a plus maintenant et plus à venir chaque jour. Vérifiez totalement erlang pour des emplois Erlang pour voir qui travaille sur quoi.
Les dialectes LISP sont utilisées partout à la place - mais ce n'est pas vraiment grand public ...
JAK et DAXTER (démo youtube) a été écrit à l'aide de l'objectif ( montage de jeu LISP ). à partir de la revue GamasUTRA , je cite (j'en mettant l'accent sur la clarté):
5. Règles de l'objectif! Pratiquement tout le code d'exécution (environ un demi-million de lignes de code source) a été écrit dans l'objectif (l'assemblage de l'objet de jeu Lisp [acronyme correct?]), Du chien vilain propre en interne Langue développée, qui était en fonction du langage de programmation LISP . Avant de vous renvoyer comme fou, considérez les nombreux avantages d'avoir un compilateur personnalisé.
LISP a un ensemble très cohérent et un ensemble de règles syntaxiques impliquant la construction et l'évaluation des listes. Les listes qui représentent le code sont exécutées en évaluant les éléments figurant dans la liste; Si la tête de la liste est une fonction (ou une autre action), vous pouvez penser aux autres éléments de la liste comme étant les paramètres à cette fonction. Cette simplicité de la syntaxe LISP le rend trivial pour créer des macros puissantes qui seraient difficiles ou impossibles à implémenter à l'aide de C++ .
Autre logiciel écrit à l'aide de LISP commun Comprend:
la liste continue. Il est juste de dire que bien que Lisp ne soit pas exactement une langue entièrement traditionnelle, cela résout certainement beaucoup de problèmes difficiles de manière propre et élégante.
Orbitz tilise de manière approfondie Lisp pour son moteur de recherche de vol.
Programmation fonctionnelle ne se limite pas à une langue particulière, c'est aussi un style de codage dans mon esprit.
Quand je dis style bien sûr, j'ignore l'exigence fonctionnelle "pure" de ne pas inclure d'états ..
En ce sens, je soupçonne que c'est beaucoup utilisé dans des situations quotidiennes.
Juste pour vous donner un exemple, dans un projet récent, j'ai utilisé un style de programmation "fonctionnel" pour transformer les URL en cartes de site dynamiques (structure arborescente) à la volée. Cela a été fait en décomposant le problème dans des fonctions plus petites qui ont ensuite été composées pour créer la solution finale: données In -> Fonction (F1 + F2 + FN) -> Arbre
xmonad , un gestionnaire de fenêtres, est écrit à Haskell.
Il est utilisé dans l'industrie par la minorité qui comprennent comment et avoir la possibilité de l'utiliser. La majorité des programmeurs ne comprendront pas la récursion ou les choses comme des fonctions de première classe et que vous pouvez traiter une fonction comme valeur et la stocker dans une liste. Je n'essaie pas de sonner élitiste, mais la réalité est l'utilisation de langues fonctionnelles est limitée car la grande majorité des programmeurs ne peuvent pas l'obtenir. Bien sûr, les gens utilisent JavaScript mais qu'ils l'utilisent de manière fonctionnelle, c'est une autre question.
Quoi qu'il en soit, voici une liste de certaines organisations/personnes utilisables/utilisées des langues fonctionnelles:
Mais à la fin de la journée, la langue utilisée a peu de différence pour le résultat du projet. Le meilleur langage de programmation du monde ne vous permettra pas de la mauvaise gestion de la mise en œuvre de mauvais processus conçus et des exigences suivant des mois, puis en attendant que les lignes de documentation 1000000 converties en code travaillant et testé en 3 mois.
Beaucoup d'analyses financières utilisées pour être effectuées dans APL, des réponses antérieures que cela ressemble à elles sont transiguées à F # aujourd'hui.
graveur Igor , un programme de notation musicale, est écrit dans Lisp.