IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

F# Discussion :

F# 4.0 est disponible en version stable


Sujet :

F#

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2014
    Messages
    1 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1 089
    Points : 26 554
    Points
    26 554
    Par défaut F# 4.0 est disponible en version stable
    F# 4.0 est disponible en version stable
    avec des optimisations au niveau du compilateur, des corrections de bugs et de nouvelles API

    La version 4.0 du langage de programmation fonctionnel de Microsoft, F# vient de passer en version stable avec la sortie de Visual Studio 2015 RTM. Au menu des nouveautés pour ce langage, nous avons une amélioration des performances au niveau du code et des ajouts de haute importance. Un ensemble de correctifs ont été également apportés à plusieurs niveaux.

    Désormais, les constructeurs peuvent être utilisés comme fonctions de première classe. Cela sous-entend que les noms des classes peuvent maintenant être utilisés comme les valeurs des fonctions de première classe.

    Dans les précédentes versions, les variables créées avec la syntaxe "mutable" étaient inaccessibles en dehors de la portée de la fonction dans laquelle elles avaient été définies. Avec les changements apportés, les mots clés "mutable" et "ref" ont été combinés afin que la syntaxe "mutable" puisse être utilisée partout et que les valeurs capturées soient converties par le compilateur en valeurs "ref".

    Par ailleurs, avec la nouvelle version de ce langage, les classes de F# peuvent maintenant hériter des classes qui implémentent plusieurs instances génériques d’interface.

    Les unités des valeurs de mesure ont été simplifiées avec les fonctions "printf". F# 4.0 supporte dorénavant les tableaux .Net de rang 5 ou supérieurs. Les développeurs peuvent maintenant tirer parti de cette fonctionnalité dans leur code.

    La grammaire du préprocesseur a également été étoffée. Vous pouvez utiliser les opérateurs booléens ||, && and ! avec l’opérateur de regroupement () dans les directives #if.

    En ce qui concerne les corrections apportées aux bugs, nous en avons plusieurs qui ont été réalisées. Par exemple, il a été détecté que le compilateur émet un modificateur de visibilité incorrect pour les constructeurs internes de classe abstraite. Cela a été rectifié. De même, les champs des enregistrements s’initialisaient en désordre. Cela a été également corrigé.

    En dehors de ces nouvelles fonctionnalités dont toute la liste est consultable directement sur le site de la firme, nous avons aussi les compilateurs et le runtime qui ont bénéficié de plusieurs optimisations.

    Dans ce sens, on peut citer l’amélioration apportée aux performances des API tels que "distinct" ou "groupBy". Cela a été possible en optimisant celles des fonctions de hachage générique pour les types primitifs.

    Les sous-listes sont maintenant possibles à réaliser en appliquant la fonction de découpage aux listes du langage.

    L’ensemble des fonctions gérant les collections est maintenant en phase avec les modules de tableaux, des listes et des séquences. Toutes les API non conformes avec ces modules seront purement et simplement rejetées en cas de non-conformité.

    En outre, on peut aussi relever le fait que les exceptions déclenchées dans le traitement du code asynchrone ont été rendues beaucoup plus faciles à détectées.

    Plusieurs API ont été également ajoutées au module Option afin de convertir dans les deux sens les objets null et les valeurs de System.Nullable. Et les extensions WebClient AsyncDownloadFile et AsyncDownloadData sont disponibles afin de télécharger des fichiers ou des données.

    Toutefois, il faut noter que cette version de F# connait encore quelques bugs mineurs qui ont suscité la mise en route pour l’implémentation de la mise à jour vers la version 4.1 depuis peu.

    Source : Journal des changements sur GitHub

    Dépôt GitHub

    Et vous ?

    Que pensez-vous des améliorations apportées à 4.0 F# ?

    En êtes-vous satisfaits ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Olivier Famien Voir le message
    Désormais, les constructeurs peuvent être utilisés comme fonctions de première classe. Cela sous-entend que les noms des classes peuvent maintenant être utilisés comme les valeurs des fonctions de première classe.
    C'était déjà le cas pour les classes F# ; ce qui change, c'est que c'est maintenant possible avec les constructeurs de n'importe quelle classe ou structure .NET. Cela évite souvent d'avoir à écrire une lambda, par exemple on peut écrire juste DateTime au lieu de (fun t -> new DateTime(t))
    Citation Envoyé par Olivier Famien Voir le message
    F# 4.0 supporte dorénavant les tableaux .Net de rang 5 ou supérieurs. Les développeurs peuvent maintenant tirer parti de cette fonctionnalité dans leur code.
    En même temps, je pense pas que beaucoup de gens utilisent des tableaux à 5 dimensions ou plus
    (d'autant que les perfs des tableaux multi-dimensionnels en .NET sont plutôt médiocres)

    Citation Envoyé par Olivier Famien Voir le message
    Que pensez-vous des améliorations apportées à 4.0 F# ?

    En êtes-vous satisfaits ?
    J'utilise F# depuis assez peu de temps, donc à part l'histoire des constructeurs comme fonctions de première classe, je me rends pas encore bien compte de ce que représentent ces améliorations...

    Mais en tout cas: F#, c'est bon, mangezcodez-en

  3. #3
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 918
    Points
    2 918
    Par défaut
    La seule amélioration que j'utiliserai vraiment est l'harmonisation de Array, List et Seq, ces modules pourtant cousins étant auparavant très disparates en termes de fonctions disponibles.

    F# est un langage jeune mais déjà étonnamment mature car il a tiré les leçons bonnes et mauvaises des autres langages à la fois fonctionnels et OO. F# 3 avec les type providers est déjà plus qu'abouti pour moi. Je ne pense pas qu'il subira dans les prochaines années de grosses transformations comparables à ce qu'ont connu Java ou même C# au cours de leur carrière, puisque tout est déjà plus ou moins là.

Discussions similaires

  1. Réponses: 38
    Dernier message: 05/07/2016, 13h40
  2. Réponses: 0
    Dernier message: 18/03/2015, 15h03
  3. Réponses: 0
    Dernier message: 18/08/2010, 20h01
  4. Réponses: 0
    Dernier message: 05/06/2009, 19h47
  5. Réponses: 13
    Dernier message: 06/11/2008, 01h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo