Swift 5.6 pointe le bout de son bec

Florent Morin |

En 2018, les développeurs s’attendaient à une version 5.0 du langage Swift mais ont finalement eu droit à une version 4.2 intermédiaire. Cette année, c’est la version 5.5 qui se verra dépourvue de quelques fonctionnalités que nous retrouverons dans la version 5.6.

Le site Swift Evolution permet de suivre les améliorations du langage

Parmi les fonctionnalités qui auront assurément leur place dans Swift 5.6, les Type placeholders qui permettent d’utiliser _ plutôt qu’un type de donnée quand ce n’est pas indispensable. On n’utilise pas ça tous les jours, mais ça peut être pratique dans certains cas. La possibilité de tester la non-disponibilité d’un symbole donné (ex. version d'iOS) a curieusement disparu de Swift 5.5 également : l’idée était simplement d’ajouter le terme #unavailable en plus du #available existant. Le reste concerne Swift Package Manager avec des améliorations concernant la gestion des binaires intégrés aux paquets, une fonctionnalité qui fait elle-même partie de l’amélioration globale des outils de build.

Concernant les fonctionnalités qui devraient arriver ensuite, dans Swift 5.6 ou une autre version, il y a la rétro-compatibilité de Swift Concurrency que nous avions évoqué début septembre. Nous trouvons aussi en mode aperçu une amélioration de la gestion des positions d’éléments (RangeSet) dans une collection : voyez les détails dans la proposition pour plus d’informations. On trouve aussi l’amélioration de @NSCopying, le fameux count(where:), des fonctions mathématiques génériques, la distinction entre #file et #filePath, l’amélioration des tuples qui deviennent compatibles avec Equatable, Comparable et Hashable. Toujours dans ce qui est bien engagé, on retrouve la fonction isPower(of:) adaptée à BinaryInteger, des améliorations de Swift Package Manager telles qu’un registre de paquets sous forme de service web (via CDN), la possibilité d’éditer un paquet en ligne de commande et la possibilité de publier un paquet via service web. Dans le domaine de Swift Concurrency, Sendable semble également ajourné. Et l’amélioration des protocoles sera également réservée à la version 5.6.

Enfin, quelques fonctionnalités pourraient arriver dans le cycle de développement. Le protocole CodingKeyRepresentable a l’air plutôt chouette pour améliorer le décodage JSON ou autre via Codable. La gestion bas niveau des tampons mémoire pourrait aussi être améliorée en s’inspirant de ce qu’on peut retrouver en C et C++. Dans le domaine de Swift Concurrency, la fonction main() pourrait être rendue plus fiable. Pour finir, la gestion des pointeurs C pourrait être également complétée.

Même si la version 5.6 de Swift pourrait apporter pas mal de fonctionnalités, la version 5.5 qui devrait sortir dans quelques semaines ne s’en trouve pas dépouillée pour autant. Nous aurons encore de quoi nous occuper tout au long de ce passionnant chemin vers Swift 6.

avatar raoolito | 

totalement hors sujet (quoique) mais quand je lis des articles de Florent de ce niveau là, je me demande pourquoi les professeurs d’université en micro genetique appliquée des virus et autres vaccins qui pullulent dans nos pages de commentaire,s ne viennent pas d ela meme maniere expliquer l’alpha et l’oméga de leur pensée profonde vis à vis des arcanes supérieurs d ela programmation swift et de ses évolutions comme expliqué ici ?

ou pour faire plus simple: pourquoi alors qu’ils n’y connaissent rien à rien dans les deux cas, pour la biologie appliquée, ils parlent mais ici ils ne diront rien.
ma théorie: "l’effet Morin" une théorie mathématique sur le calmage des excités...

avatar quentinf33 (non vérifié) | 

@raoolito

Je pencherais plus sur l’effet Dunning-Kruger. Moi-même je me fais avoir par ce biais cognitif (tout le monde même).

Après je ne donne pas raison aux experts autoproclamés en microbio 😂

avatar YetOneOtherGit | 

@quentinf33

"Je pencherais plus sur l’effet Dunning-Kruger"

Ultracrépidarianisme est plus à la mode depuis qu’Étienne Klein la popularisé brillamment comme toujours avec lui 🤓

https://youtu.be/f89WVeqWe-M

avatar Florent Morin | 

@YetOneOtherGit

J’assiste jeudi à une de ses conférences. Marrant. 😄

avatar YetOneOtherGit | 

@FloMo

"J’assiste jeudi à une de ses conférences. Marrant. 😄"

Toujours un bonheur ce que fait Etienne et si tu ne connais pas je te recommande vraiment son émission sur FranceCulture

https://radio-podcast.fr/podcast/france-culture/1907/la-conversation-scientifique/etienne-klein

avatar Florent Morin | 

@YetOneOtherGit

J’écoute l’émission chaque semaine !

Avec La Méthode Scientifique, ce sont mes émissions favorites.

avatar IceWizard | 

@raoolito

« ma théorie: "l’effet Morin" une théorie mathématique sur le calmage des excités... »

Moi j’aime bien Edgar !

avatar cecile_aelita | 

@raoolito
"pourquoi alors qu’ils n’y connaissent rien à rien dans les deux cas"
😍 !!! t'es mon héros toi 🤣

avatar raoolito | 

@romainB84

nan mais a ce stade je fais une tentative de suicide en ligne
ils vont me piétiner

avatar cecile_aelita | 

@raoolito

Certes … mais tu seras mort en héros 🤣

avatar raoolito | 

@romainB84

je revois la scene de fin de "300"

avatar MSpock | 

@raoolito

« l’ignorance engendre plus fréquemment la confiance en soi que ne le fait la connaissance » je crois que ça vient de Darwin

avatar Florent Morin | 

@raoolito

> ma théorie: "l’effet Morin" une théorie mathématique sur le calmage des excités...

J’ai bien ri, merci 😂

avatar raoolito | 

@FloMo

je suis navré d'avoir un peu torpillé le sujet :(
excellent article !

avatar DahuLArthropode | 

@raoolito

Ça peut aussi toucher d’autres sujets. Je me rappelle que le CERN avait publié des résultats surprenants, ilsavaient détecté une particule qui semblait aller plus vite que la lumière. Ils avaient épluché leurs calculs, inspecté leurs équipements et, ne trouvant pas leur erreur, avaient publié leurs résultats pour que la communauté scientifique les aide à trouver le problème dans leur expérience ou dans son interprétation.
La presse « scientifique », heureuse du scoop et pas très rigoureuse ni scrupuleuse, avait titré quelque chose du genre « on a détecté une particule qui va plus vite que la lumière ».

Et là, je tombe sur un commentaire de lecteur en fin d’article: « je l’avais toujours su, qu’on pouvait aller plus vite que la lumière ! »

Dans le cas du CoVid ou des vaccins, je ne sais pas si les croyances viennent en premier, ou si elles résultent simplement d’un biais qui consiste à trouver des raisons « rationnelles » à une décision qu’on a prise pour des raisons obscures (la peur). À quoi s’ajoute le goût des belles histoires, plus excitantes qu’une réalité inquiétante. Et le besoin de trouver un coupable à tout problème, une cause à tout effet.

Je me rappelle que sur usenet, plus le thread était long, plus le sujet était mince. S’il y avait plus de cinquante réponses sur un fil, c’était qu’on parlait du placement des accolades en C ou de l’utilisation de NULL vs 0. Et les échanges étaient violents! Si le sujet était un algorithme de tri avec une complexité en O(n log(n)) en cinq lignes, il n’y avait aucun commentaire.

avatar IceWizard | 

@DahuLArthropode

« Et là, je tombe sur un commentaire de lecteur en fin d’article: « je l’avais toujours su, qu’on pouvait aller plus vite que la lumière ! » »

Et il avait raison ! Il est scientifiquement prouvé que les rumeurs se déplacent plus vite que la vitesse de la lumière !

avatar Tomtomrider | 

@IceWizard

Je l’ai pas vu venir celle là j’adore je garde 😄

avatar DahuLArthropode | 

@IceWizard

"les rumeurs se déplacent plus vite que la vitesse de la lumière"

Si Einstein avait raison, ce qui dépasse la vitesse de la lumière ne peut pas violer la causalité et les rumeurs seraient sans conséquences. Hélas…

avatar IceWizard | 

@DahuLArthropode

« Si Einstein avait raison, ce qui dépasse la vitesse de la lumière ne peut pas violer la causalité et les rumeurs seraient sans conséquences. Hélas… »

Si je me souviens bien, Einstein a dit qu’aucune particule porteuse d’informations ne pouvait dépasser la vitesse de la lumière dans le vide. Mais une rumeur est-ce vraiment de l’information ?

avatar DahuLArthropode | 

@IceWizard

La théorie permet de changer l’ordre des événements pour deux observateurs qui sont dans des référentiels différents. Sauf si ça viole la causalité: quel que soit le référentiel, il faut gratter l’allumette avant qu’elle ne flambe.
Et justement: la rumeur met le feu aux poudres.

(C’est fou comme on prend plaisir à dialoguer très sérieusement sur un bon mot)

avatar raoolito | 

@DahuLArthropode

oui mais du coup est-ce qu'on sait alors d'où venait l'erreur dans leur expérience ? (pour la vitesse de la lumière)

avatar IceWizard | 

@raoolito

« oui mais du coup est-ce qu'on sait alors d'où venait l'erreur dans leur expérience ? (pour la vitesse de la lumière) »

Un problème de connexion entre une fibre optique et une carte électronique, qui provoquait une erreur de 60 nanosecondes dans une mesure ! C’est ballot !

avatar raoolito | 

@IceWizard

je le savais, ca m'arrive tous les jours !!

avatar IceWizard | 

@raoolito

« je le savais, ca m'arrive tous les jours !! »

D’être en retard de 60 nanosecondes sur le taff ?

avatar raoolito | 

@IceWizard

maismoi monsieur je suis capable de repérer 60 ns de différence de synchronisation entre le son doublé et la vidéo de ma serie preferee!
oui monsieur !

avatar IceWizard | 

@raoolito

« maismoi monsieur je suis capable de repérer 60 ns de différence de synchronisation entre le son doublé et la vidéo de ma serie preferee! »

Ta mère c’était Super Jaimie ?

avatar raoolito | 

@IceWizard

je regarde les films en x0,05 pourquoi ?
dans 2 ans j'aurais enfin terminé le premier episode du seigneur des anneaux

avatar Hasgarn | 

@raoolito

Après la trilogie, essaye Ben-Hur et Cléoaptre.
Et Si t’es pas mort, il y a Danse avec les loups 😊

avatar YetOneOtherGit | 

@Hasgarn

"Après la trilogie, essaye Ben-Hur et Cléoaptre.
Et Si t’es pas mort, il y a Danse avec les loups 😊"

Des trucs de rigolos, un classique français :

https://fr.wikipedia.org/wiki/Out_1_:_Noli_me_tangere

avatar Hasgarn | 

@YetOneOtherGit

Ahh oué 😎😎
Ou ça : https://fr.m.wikipedia.org/wiki/The_Cure_for_Insomnia

C’est pas le plus long mais rien qu’au titre 🤣

avatar YetOneOtherGit | 
avatar Hasgarn | 

@YetOneOtherGit

C’est là que j’ai pris mon lien.
Y’a des trucs…
Je n’imaginais pas cela possible 😅

avatar YetOneOtherGit | 

@Hasgarn

"Y’a des trucs…"

J’en connaissais certains 😉

avatar Hasgarn | 

@YetOneOtherGit

Ta vie n’est quand même pas si misérable, rassure-moi 😅
Blague à part, sacré culture 👍

avatar YetOneOtherGit | 

@Hasgarn

"Ta vie n’est quand même pas si misérable, rassure-moi 😅"

J’ai vue celui de Rivette 🤯😉

avatar Hasgarn | 

@YetOneOtherGit

Bravo. Perso, je ne sais pas que je serais capable de me farcir les 12h30 d’un coup. Et il faudrait que ça me plaise mais la page Wikipedia ne me vend pas du rêve 😅
En plusieurs fois, c’est possible. En même temps, on binge Watch des séries qui a l’arrivée font une durée plus que respectable (ma préférée Battlestar Galactica).

avatar YetOneOtherGit | 

@Hasgarn

"Perso, je ne sais pas que je serais capable de me farcir les 12h30 d’un coup"

C’était en 3 séances si ma mémoire est bonne 😄

avatar DahuLArthropode | 

@IceWizard

"Un problème de connexion"

Un peu comme pour la cause des rumeurs. Mais les émetteurs ne sont pas des lumières.

avatar YetOneOtherGit | 

@raoolito

"ma théorie: "l’effet Morin" une théorie mathématique sur le calmage des excités..."

On a parfois expliqué quelques enjeux de Computer Sciences au FloMo quand même 🤓😉

🙃🤩😉

Nous sommes quelques vieux cons du dev geek canal historique 🧐

Blague à part toujours agréable d’avoir un dev dans l’équipe rédactionnelle 👍🖖

CONNEXION UTILISATEUR