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

Swift Discussion :

Swift 5.2 est disponible avec une nouvelle architecture de diagnostic


Sujet :

Swift

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 249
    Points
    66 249
    Par défaut Swift 5.2 est disponible avec une nouvelle architecture de diagnostic
    Swift 5.2 est disponible avec une nouvelle architecture de diagnostic
    qui vise à améliorer la qualité et la précision des messages d'erreur

    Après la sortie de Swift 5.1 en septembre 2019, Apple a publié cette semaine la première version bêta de Swift 5.2. Cette version bêta de Swift 5.2 a été publiée en même temps que la version bêta de Xcode 11.4. Elle comprend une poignée de changements ainsi que des réductions de la taille du code et de l'utilisation de la mémoire. Elle apporte aussi une nouvelle architecture de diagnostic qui vous aidera à diagnostiquer les erreurs plus rapidement.

    Swift 5.1 s'appuie sur les points forts de Swift 5. Cette version de Swift a étendu les fonctionnalités stables du langage pour compiler le temps avec l'introduction de la stabilité des modules. Depuis Swift 5.1, il est possible de créer et de partager des frameworks binaires qui peuvent fonctionner avec les futures versions de Swift. La version 5.1 du langage a aussi apporté des fonctionnalités telles que les enveloppes de propriétés, les types de résultats opaques, la recherche de membres de chemins clés, de nouvelles API pour String, etc.

    Nom : 0d7ab3b633e07bf8ec99bdc18e22ad89d8934801.png
Affichages : 3044
Taille : 11,6 Ko

    Les nouvelles fonctionnalités de Swift 5.1 ont facilité la conception de meilleures API et bien d’autres choses. La version 5.2 de Swift étend à son tour les fonctionnalités de la précédente version. Jetons un coup d’oeil ci-dessous aux nouveautés de Swift 5.2.

    Swift 5.2 introduit des valeurs appelables statiquement dans le langage. En fait, les valeurs appelables sont des valeurs qui définissent un comportement de type fonctionnel et peuvent être appelées en utilisant la syntaxe d'appel de fonction. Elles sont différentes des valeurs appelables dynamiquement. Cette fonctionnalité prend en charge les arités déclarées statiquement, les étiquettes d'arguments et les types de paramètres, et n'est pas limitée aux déclarations de type primaire. Elle apporte plus de flexibilité aux développeurs.

    Cette fonctionnalité vous permet désormais de directement appeler une valeur si son type implémente une méthode appelée callAsFunction(). Swift adapte de manière automatique vos sites d'appel en fonction de la définition de callAsFunction(). Par exemple, vous pouvez ajouter autant de paramètres que vous le souhaitez, vous pouvez contrôler la valeur de retour, et vous pouvez même marquer les méthodes comme étant muettes (mutating) si nécessaire. Pour une utilisation plus avancée, callAsFunction() supporte à la fois throws et rethrows, et vous pouvez même définir plusieurs méthodes callAsFunction() sur un seul type. Swift choisira la bonne en fonction du site d'appel, tout comme une surcharge normale.

    En ajoutant des indices personnalisés à un type de votre code, vous pouvez désormais utiliser des arguments par défaut pour n'importe lequel des paramètres. Par exemple, en présence d’une structure PoliceForce qui a un indice personnalisé pour lire les officiers de la force, vous pourriez ajouter un paramètre par défaut à renvoyer si quelqu'un essaie de lire un index en dehors des limites du tableau. Notez que vous devez écrire vos étiquettes de paramètres deux fois si vous voulez qu'elles soient utilisées, car les indices n'utilisent pas d'étiquettes de paramètres autrement.

    Swift 5.2 a introduit une nouvelle architecture de diagnostic qui vise à améliorer la qualité et la précision des messages d'erreur émis par Xcode lorsque vous faites une erreur de codage. C’est particulièrement évident lorsque l'on travaille avec du code SwiftUI, où Swift produirait souvent des messages d'erreur faussement positifs.

    Les développeurs de Swift ont introduit dans le langage une fonction qui permet d'utiliser des raccourcis clavier dans certaines circonstances spécifiques. Vous avez la possibilité d'utiliser “\Root.value” partout où les fonctions “(Root)->Value” sont autorisées.

    Source : Swift

    Et vous ?

    Que pensez-vous des nouveautés dans Swift 5.2 ?

    Voir aussi

    Avec Swift 4.2, Apple se prépare à la stabilisation de l'ABI Swift dans la version 5.0 du langage qui est prévue plus tard dans l'année

    Swift 4.0 : la nouvelle version du langage de programmation d'Apple est disponible avec deux modes de langage pour assurer une migration en douceur

    Programmation : Python gagne de plus en plus en popularité et Swift fait à nouveau son entrée dans le top 10 de l'index TIOBE d'octobre 2018
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Février 2020
    Messages : 5
    Points : 18
    Points
    18
    Par défaut
    Bon sinon c'est quand que Swift sera dispo officiellement sur d'autres plateformes que MacOS ?
    A croire que Apple refuse que son langage (qui est excellent) se développe et devienne potentiellement quelque chose d'ultra répandu
    Apple a toujours voulu faire des exclusivités à son matos et à chaque fois les gens paient les frais (exemple: Lightning), il serait peut-être temps qu'ils arrêtent leurs conneries

  3. #3
    Expert confirmé Avatar de sergio_is_back
    Homme Profil pro
    Responsable informatique, développeur tout-terrain
    Inscrit en
    Juin 2004
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Responsable informatique, développeur tout-terrain
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 075
    Points : 5 541
    Points
    5 541
    Par défaut
    Citation Envoyé par Quentincestino Voir le message
    Bon sinon c'est quand que Swift sera dispo officiellement sur d'autres plateformes que MacOS ?
    A croire que Apple refuse que son langage (qui est excellent) se développe et devienne potentiellement quelque chose d'ultra répandu
    Apple a toujours voulu faire des exclusivités à son matos et à chaque fois les gens paient les frais (exemple: Lightning), il serait peut-être temps qu'ils arrêtent leurs conneries
    Apparemment c'est déjà le cas (source Wikipédia) :
    Le projet de développement de Swift est géré par Apple qui en est également le principal contributeur mais de nombreux membres de la communauté Swift ainsi que d'autres acteurs tels que Google et IBM participent activement à son développement. Swift est officiellement supporté sur les systèmes d'exploitation Linux Ubuntu, iOS, macOS, watchOS et tvOS. Un support non officiel (géré par la communauté) existe sur d'autres plateformes Linux telles que Debian et Fedora.
    Sous Linux c'est supporté mais pas sous Windows....
    Après je ne m’intéresse plus guère au monde Apple depuis que j'ai remisé mon Apple II+ au grenier, de plus c'est pas très utilisé dans ma branche...

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Février 2020
    Messages : 5
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par sergio_is_back Voir le message
    Apparemment c'est déjà le cas (source Wikipédia) :


    Sous Linux c'est supporté mais pas sous Windows....
    Après je ne m’intéresse plus guère au monde Apple depuis que j'ai remisé mon Apple II+ au grenier, de plus c'est pas très utilisé dans ma branche...
    Il y a un support non-officiel pour Windows aussi, mais le truc c'est que
    1- C'est non-officiel
    2- C'est pas foufou

    Swift est réellement excellent, surtout à une période où on essaye de remplacer le C dans des milieux où il est omniprésent (comme l'embarqué), notamment via Rust, mais juste Apple doit se sortir les doigts du fion.

  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    794
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 794
    Points : 986
    Points
    986
    Par défaut
    Citation Envoyé par sergio_is_back Voir le message
    Apparemment c'est déjà le cas (source Wikipédia) :


    Sous Linux c'est supporté mais pas sous Windows....
    Après je ne m’intéresse plus guère au monde Apple depuis que j'ai remisé mon Apple II+ au grenier, de plus c'est pas très utilisé dans ma branche...
    IBM a lâché l'affaire avec Swift y'a deux semaines.

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    Technicien de maintenance / Developpeur PHP
    Inscrit en
    Mai 2015
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien de maintenance / Developpeur PHP
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 428
    Points : 1 625
    Points
    1 625
    Par défaut
    Que pensez-vous des nouveautés dans Swift 5.2 ?

    Que du plus de version en version, une ABI enfin stable (depuis 5.1 je croit) qui n’oblige plus à linker le runtime en static, du coup des bin plus petit et des MaJ du runtime qui passe crème.

    Les seules choses qui me gêne avec Swift sont :
    - Temps de compilation vraiment très long (et en comparant à du C++/Rust, c'est dire)
    - LLVM/Swift qui n'as jamais (ne sera jamais ?) mainliner dans LLVM/Clang et qui rend l'argument du multiplateforme très bancale à mon avis.

    Si ces deux points était corrigés, alors Swift pourrait grandir sur les autres plateformes.
    Dans le cas contraire et c'est ce que je sens poindre à l'horizon, étant donner le comportement d'IBM, alors le langage n'ira pas beaucoup plus loin que l'Objective-C en dehors de chez Apple.
    C'est dommage, mais venant d'Apple, c'est une habitude élevé au rang de modèle économique.

Discussions similaires

  1. LLVM 7 est disponible avec une nouvelle extension LLVM pour Visual Studio
    Par Christian Olivier dans le forum Clang et LLDB
    Réponses: 0
    Dernier message: 24/09/2018, 21h45
  2. GTK+ 3.20 est disponible avec une mise à jour de ses composants de base
    Par Victor Vincent dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 27/03/2016, 13h02
  3. Firefox 43 est disponible avec une version 64 bits pour Windows
    Par Olivier Famien dans le forum Firefox
    Réponses: 11
    Dernier message: 22/12/2015, 09h24
  4. SharpDevelop 5 beta 1 est disponible avec de nouvelles fonctionnalités
    Par Francis Walter dans le forum Sharpdevelop
    Réponses: 7
    Dernier message: 23/05/2014, 14h39

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