La version 6 de F#, le langage de programmation fonctionnel conçu par Microsoft, est disponible,
plus rapide et plus interopérable, elle apporte de nouvelles fonctions

F# est un langage de programmation fonctionnel conçu par Microsoft et intégré à Visual Studio qui s’appuie sur la plateforme .NET. Il permet de développer tout type d’application, de s'attaquer à des problèmes informatiques complexes avec un code simple, facile à maintenir et robuste en liaison si nécessaire avec d’autres langages .NET (C#, VB.net…). Le 9 novembre, kathleen dollard, Chef de programme .NET principal chez Microsoft a annoncé la disponibilité de F# 6. « F# 6 est maintenant publié dans le cadre de .NET 6. Vous y trouverez de nouvelles fonctions asynchrones basées sur les tâches, le débogage des pipelines, ainsi que de nombreuses fonctionnalités pour rendre votre code plus simple et plus performant », a declaré kathleen.

Notons que F# fonctionne sur Linux, Mac OS X, Android, iOS, Windows, GPU et sur navigateurs. Sa gratuité et son caractère "open source" font de lui un langage utilisé dans un large éventail de domaines d'application. il est soutenu à la fois par une communauté très active et par des entreprises qui fournissent des outils professionnels.

Nom : F#.PNG
Affichages : 1636
Taille : 28,7 Ko

Soutenu par des éditeurs tels que Visual Studio Code et JetBrains, Fable est un compilateur conçu pour faire de F# un élément indispensable dans l'écosystème du JavaScript. Il produit du code JavaScript lisible et compatible avec les normes ES2015 et des outils populaires comme Webpack.

F# 6, plus rapide et plus interopérable

La nouvelle syntaxe de tâche {...} crée directement une tâche et la lance. Il s'agit de l'une des fonctionnalités les plus importantes de F# 6, qui rend les tâches asynchrones plus simples, plus performantes et plus interopérables avec C# et d'autres langages .NET. Auparavant, pour créer des tâches .NET, il fallait utiliser async {...} pour créer une tâche et invoquer Async.StartImmediateAsTask.

La fonctionnalité de tâche {...} est construite sur une fondation appelée "code résumable" RFC FS-1087. Le code résumable est une fonctionnalité de base, et nous prévoyons de l'utiliser pour construire d'autres machines d'état asynchrones et de rendement à haute performance à l'avenir. F# 6 ajoute également d'autres fonctionnalités de performance pour les auteurs de bibliothèques, notamment InlineIfLambda et des représentations non encadrées pour les modèles actifs F#. Une amélioration particulièrement significative des performances concerne la compilation des expressions de listes et de tableaux, qui sont désormais jusqu'à quatre fois plus rapides et dont le débogage est également amélioré et simplifié.

F# est plus facile à apprendre et plus uniforme

F# 6 permet d'utiliser la syntaxe d'indexation expr[idx]. Jusqu'à présent, F# utilisait expr.[idx] pour l'indexation. L'abandon de l'annotation du point est basé sur les commentaires répétés des nouveaux utilisateurs de F#, selon lesquels l'utilisation du point est perçue comme une divergence inutile par rapport à la pratique standard qu'ils attendent. Dans le nouveau code, nous recommandons l'utilisation systématique de la nouvelle syntaxe d'indexation expr[idx]. Nous devrions tous adopter cette syntaxe en tant que communauté.

La communauté F# a apporté des améliorations clés pour rendre le langage F# plus uniforme dans F# 6. La plus importante d'entre elles consiste à supprimer un certain nombre d'incohérences et de limitations dans les règles d'indentation de F#. Parmi les autres ajouts de conception visant à rendre F# plus uniforme, citons l'ajout de patterns as, l'autorisation d'opérations personnalisées surchargées dans les expressions de calcul (utiles pour les DSL), l'autorisation de _ discards sur les liaisons d'utilisation et l'autorisation de %B pour le formatage binaire en sortie.

La bibliothèque centrale de F# ajoute de nouvelles fonctions pour la copie et la mise à jour de listes, de tableaux et de séquences, ainsi que des fonctions intrinsèques NativePtr supplémentaires. Certaines fonctions héritées de F#, dépréciées depuis la version 2.0, entraînent désormais des erreurs. La plupart de ces changements alignent mieux F# sur vos attentes, ce qui réduit les surprises.

F# 6 a également ajouté la prise en charge de conversions "implicites" et "dirigées par le type" supplémentaires dans F#. Cela signifie moins d'upcasts explicites, et ajoute un support de première classe pour les conversions implicites de style .NET. F# est également ajusté pour être mieux adapté à l'ère des bibliothèques numériques utilisant des entiers 64 bits, avec un élargissement implicite pour les entiers 32 bits.

Simplification du modèle

L’équipe de developpement de F# a simplifié le modèle Console pour F#. Le nouveau modèle est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
printfn "Hello from F#"

Le nouveau modèle montre une manière simple de créer une application et le changement est cohérent avec la simplification d'autres modèles .NET.

Ionide

Ionide prend désormais en charge les fonctionnalités et la syntaxe de F# 6. Vous pouvez mettre à jour votre projet vers .NET 6 dès maintenant et tout devrait fonctionner parfaitement. Avec F# 6, le langage continue à atteindre les objectifs qu'il s'est fixés depuis sa création : un code succinct, robuste et performant auquel les utilisateurs peuvent faire confiance pour le codage pratique, que ce soit pour un usage personnel, pour les start-ups ou pour les entreprises.

Source : Microsoft

Et vous ?

Quel est votre avis sur le sujet ?

Voir aussi :

F# gagne en indépendance par rapport à .NET et peut désormais complètement remplacer TypeScript, selon Onur Gumus, ingénieur logiciel F#

Rider 2020.3 est disponible et apporte des nouvelles fonctionnalités .NET 5, C# 9 et F# 5 et la prise en charge linguistique du framework Avalonia UI

Microsoft annonce .NET 6, version la plus rapide à ce jour avec prise en charge des puces Apple Silicon, des containers Windows isolés des processus et une amélioration des E/S de fichiers

Microsoft a publié la version stable de Visual Studio 2022 avec une nouvelle expérience de rechargement à chaud pour les applications natives C++, cette version est disponible uniquement en 64 bits