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 2.2 est disponible


Sujet :

Swift

  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 Swift 2.2 est disponible
    Swift 2.2 est disponible
    avec le support des distributions Linux et la possibilité d’utiliser la plupart des mots-clés comme étiquettes d’arguments

    Le langage de programmation Swift d’Apple vient de passer à la version 2.2. Depuis sa mise sous licence open source en décembre dernier, c’est la première version du langage marquée par des contributions de personnes extérieures à Apple.

    Pour cette nouvelle itération, il faut noter comme élément principal la prise en charge des distributions Linux et notamment celles d’Ubuntu 14.04 LTS (Trusty Tahr) et Ubuntu 15.10 (Wily Werewolf). Toutefois, Ted Kremenek, le gestionnaire principal des langages chez Apple, précise que « le port Linux est encore relativement nouveau et dans cette version, Swift 2.2 n’inclut pas les bibliothèques Swift Core (qui apparaitront dans Swift 3) ».

    En marge de cette prise en charge des distributions Linux, il faut noter l’ajout de la méthode removeFirst() aux types Arrays et slice. Pour supprimer la dernière entité dans un tableau ou une liste, Swift dispose de la méthode removeLast(). Toutefois, cette méthode n’avait pas son correspondant pour supprimer le premier élément. Dans cette version, il est maintenant possible de le faire avec la méthode removeFirst().

    En dehors de cet ajout, nous avons maintenant la possibilité de comparer les tuples avec beaucoup plus de simplicité. Nous rappelons que les tuples sont une liste de valeurs séparées par une virgule. Dans les versions antérieures, effectuer de telles comparaisons pouvait se faire, mais exigeait d’écrire un code verbeux et peu intuitif. Avec la nouvelle méthode introduite, la longueur du code est réduite et le code de comparaison plus lisible.

    Toujours au niveau des nouvelles implémentations, il est maintenant possible d’utiliser la plupart des mots-clés comme étiquettes (labels) d’arguments. Cela a été intégré, car « quelquefois, le label le plus naturel pour un argument coïncide avec un mot-clé de la langue tel que in, repeat ou defer. De tels mots-clés devraient être autorisés en tant que label d’arguments, ce qui permet une meilleure expression de ces interfaces » a expliqué Doug Gregor sur la plateforme GitHub. Toutefois, il faut préciser que certains mots-clés comme var, let et inout peuvent ne pas être concernés par ces améliorations.

    À côté de ces améliorations, plusieurs éléments ont été dépréciés. L’on a par exemple les opérateurs d’incrémentation ++ ou de décrémentation --. Si vous utilisez ces annotations dans cette nouvelle version, vous aurez un message d’avertissement lors de l’exécution du code. Par ailleurs, il faut savoir que dans la version 3 du langage, ces opérateurs seront supprimés.

    En plus de ces éléments d’incrémentation et de décrémentation, l’on a les boucles for de style C qui ont également été rendues caduques. Cela signifie que si vous utilisez le code ci-dessous, vous aurez un message d’avertissement vous signifiant que les boucles for de style C ont été rendues obsolètes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for var i = 1; i <= 10; i += 1 {
        print("\(i) correctifs à intégrer")
    }
    À défaut, il est possible d’utiliser la solution ci-dessous ou d’autres encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in 1...10 {    
        print("\(i) correctifs à intégrer ")
    }
    En outre, l’usage du paramètre var permettant pour définir des variables a été déconseillé dans cette version de Swift. Il faut souligner que var offre une très fine différence avec le mot-clé inout. La différence entre ces deux éléments réside dans le fait qu’en utilisant var, vous pouvez modifier un paramètre dans une fonction, alors qu’en utilisant inout les changements effectués sur un paramètre d’une fonction demeurent même après la fin de la fonction. À partir de la version 3.0 de Swift, le mot-clé var sera supprimé.

    En plus des éléments déjà cités, il faut également ajouter à la liste des objets tombés en désuétude l’usage des chaines de caractères pour les sélecteurs.

    En dehors de ces points, il faut savoir que Swift 2.2 a été intégrée à l’environnement de développement Xcode 7.3 qui vient de sortir. Cela sous-entend que les développeurs peuvent combiner ces deux outils pour publier des applications sur l’App Store.

    Source : Blog Swift

    Et vous ?

    Que pensez-vous de cette nouvelle version de Swift ? Est-elle à la hauteur de vos attentes ?

    Au regard des nouvelles fonctionnalités introduites, pensez-vous que l’open source ait été un gain ?

    Voir aussi

    Forum Swift
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2014
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2014
    Messages : 106
    Points : 322
    Points
    322
    Par défaut
    Quel est l'intérêt de supprimer des éléments du language ? Surtout les opérateurs d'incrémentation, pourquoi ne pas les laisser ? Surtout qu'un language non rétro-compatible ne donne pas une bonne image, faire un code qui sera non-compilable dans 3 mois non merci...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 498
    Points : 1 148
    Points
    1 148
    Par défaut
    Citation Envoyé par derderder Voir le message
    Quel est l'intérêt de supprimer des éléments du language ? Surtout les opérateurs d'incrémentation, pourquoi ne pas les laisser ? Surtout qu'un language non rétro-compatible ne donne pas une bonne image, faire un code qui sera non-compilable dans 3 mois non merci...
    En fait c'est marrant mais cela fait deja trois mois que j'etais au courant. La version beta servait deja a cela.
    Apres les raisons pour effacer du code sont parfois simple : obliger le developpeur a coder d'une autre maniere. Etant donne que Swift est ne recement, il enfin appris des autres langages comme C# et PHP qui comprend que les gens voit obsolescence comme "demain on l'effacera ... ou pas".

    Apres c'est vrai que l'incrementation : c'est marque ici pourquoi.
    Et pour la boucle c'est ce post : ici

    Apres c'est vrai que c'est que vu les arguments c'est un peu du passe. J'utilise le for ++ dans le cas seulement pour rendre plus performant dans certains langages comme le C#, java, PHP. On l'a tous appris le for-loop est plus rapide. Mais la swift ne gagne pas en perf ici donc on peut quasiment l'enlever, moins de code permet de maintenir swift. (Allez hop, je vais me prendre que des -1).

    Vous pouvez toujours envoyer un issues pour poser la question ><.

Discussions similaires

  1. Delphi Turbo Explorer gratuit est disponible
    Par etranger dans le forum Outils
    Réponses: 107
    Dernier message: 11/08/2008, 09h34
  2. [C#] Comment savoir si une connexion SQL est disponible ?
    Par mister3957 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 19/10/2006, 10h53
  3. Réponses: 2
    Dernier message: 18/02/2006, 20h00
  4. Savoir si une lettre reseau est disponible en C++
    Par barthelv dans le forum Windows
    Réponses: 1
    Dernier message: 02/09/2005, 15h05
  5. DevC++ avec un nouveau MinGW est disponible
    Par HRS dans le forum Dev-C++
    Réponses: 1
    Dernier message: 28/02/2005, 13h37

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