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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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 , par Olivier Famien

123PARTAGES

4  0 
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
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
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de derderder
Membre averti https://www.developpez.com
Le 23/03/2016 à 16:17
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...
0  0 
Avatar de koyosama
Membre éprouvé https://www.developpez.com
Le 23/03/2016 à 16:40
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 ><.
0  0