Duplicaté possible: strong>
dans quels domaines pourraient l'utilisation de f # être plus approprié que c #? p> blockQuote>Je prévois de donner une présentation au groupe d'utilisateurs local .NET sur F #. Et je prévois le "pourquoi devrais-je regarder dans f #?" question de l'auditoire. Je sais que la plupart des choses qui peuvent être faites en F # peuvent être faites dans C # aussi - je cherche donc des choses qui peuvent être faites facilement en F # qui sont vraiment difficiles à faire en C # (e. G. Assortie de motif). Et s'il y a déjà de bonnes réponses à cette question, veuillez simplement les relier dans des commentaires et fermerai cela. J'ai vu quelques choses, mais s'il y a déjà une question qui s'adresse à cela, je ne l'ai pas trouvé. P>
Au fait, si l'un des modérateurs veulent marquer cette communauté wiki, n'hésitez pas à vous sentir libre; Cela ressemble plus à une question d'enquête pour moi quand même. p>
3 Réponses :
Etant donné que F # est une langue fonctionnelle, il devrait être beaucoup plus facile de mettre en œuvre une langue spécifique à un domaine. P>
L'un des concepts principaux est l'asyncroute des appels d'asyncroute dans F #, aussi F # utilise des variables immuables si la concurrence est facile. P>
voir http://research.microsoft.com/apps/pubs /default.aspx?id=147194 et http://research.microsoft.com/apps/pubs/default. Aspx? Id = 79947 et d'autres Articles Don Syme . Peut-être qu'il y a d'autres différences, mais je pense que les rassembler ici ne fait que faire vos devoirs. P>
En particulier, les fonctionnalités async i> en F # sont la qualité de la production, tandis que les fonctionnalités ASNYC de C # (et VB.NET) sont toujours en phase CTP.
Et l'élimination de l'appel de la queue rend l'asynchrone beaucoup plus élégante dans F # Quoi qu'il en soit.
Je dirais p>
Unités de mesure est agréable, mais c'est un piratage beaucoup comme les génériques Java (effacement), ce qui signifie aucune réflexion, aucune utilisation à l'extérieur de l'assemblée.
Je suis tenté de voter pour la fermer car cela semble subjectif et / ou argumentatif. Mais je ne suis pas sûr à 100% à ce sujet.
@Bobby, comme je le disais, si quelqu'un veut marquer ce wiki communautaire qui va bien avec moi. Je me rends compte que c'est une sorte de question de sondage, mais je ne peux pas marquer la question de la communauté wiki moi-même.
(Juste une note latérale: beaucoup de fois, j'ai vu cette question à comparer bon f # à Bad C #, c'est-à-dire à ne pas utiliser les appareils C # appropriés; Je ne dis pas qu'il n'y a pas de différence - mais soyez conscient de ce gotcha; note aussi Comment C # 5 (l'ASYNC CTP) améliore les pouvoirs de filetage de C # avec des continuations, etc.)
@Bobby, je suis toujours relativement nouveau à Stackoverflow et j'apprécie l'objectif d'éviter les questions qui se transforment en djihads. Je pense que cette question sollicite les opinions qui ne nécessitent pas d'argument. J'ai hâte de voir les réponses à cela. Y a-t-il un autre autre forum qui est plus approprié pour une question comme celle-ci?
@ Delnan - merci pour les liens. Mon Google Fu doit me défaire. Je vais fermer cette question depuis que je crois que c'est une dupe. (Edit): Hmm ... pensé comme la personne qui posa la question de la question, je pourrais le fermer automatiquement. Devinez que j'avais tort.
@COS CALLIS: Pas en soi aussi loin que je peux voir. Il s'agit d'un réseau de questions / réponses et tous les sites tentent d'éviter d'éventuelles questions subjectives et argumentatives ou du type qui peut être transformé en une discussion. Mais la plupart du temps, le libellé fait une grande différence, comme dans cet exemple.
Voter pour rouvrir. Je répondrais à la prétendue question en double avec des domaines d'application génériques (par exemple, «applications de serveur fortement simultanées» ou «Guis générées par programmation»), Un moyen élégant qui s'appuie sur l'élimination de l'appel de la queue ou un analyseur écrit en tant qu'ensemble de motifs actifs mutuellement récursifs, ou un simple programme simultané faisant le message qui passe à l'aide d'un
MailboxProcessor code>).
IMMUTABILITÉ! C'est une énorme douleur en C #. Voici un exemple simple - mais douloureux - exemple: Stackoverflow.com/Questtions/5172510/...
Je pense qu'il y a beaucoup de questions qui couvrent déjà ce sujet. Il suffit de regarder la liste des questions F # très électives: Stackoverflow.com/questions/tagged/... < / a>
@Tomas: Je ne pense pas que ce soit une réponse constructive. En particulier, je ne vois aucune question avec des réponses comme celles que j'ai décrites ci-dessus. Vous pourriez aussi bien dire au questionneur de maîtriser F # lui-même en utilisant toutes les informations disponibles, puis répondez à sa propre question ...