Swift 5.5 prend le chemin de la WWDC 2021

Florent Morin |

Il y a quelques semaines, la communauté Swift a présenté Swift 5.4, l’évolution du langage open-source d’Apple. En attendant la version 6, ce sera très probablement une version 5.5 qui devrait être présentée lors de la WWDC 2021. Et les nouveautés annoncées sont vraiment intéressantes.

Calendrier du projet

Le 16 avril, la branche release/5.5 va sortir de la branche principale. C’est une étape essentielle pour la sortie d’une version finalisée de Swift et cela veut dire que certaines évolutions intégrées jusqu’ici vont faire l’objet d’un travail spécifique. Tous les projets liés (Swift Package Manager par exemple) créeront également leurs propres branches de travail, ce qui permettra d’avoir une mise à jour pour les différents composants qui sera disponible avec Swift 5.5.

Si on s’appuie sur l’historique de la version 5.3 qui est sortie de la branche principale le 20 avril 2020, on peut se dire que la première beta de Swift 5.5 devrait sortir avec la première beta de Xcode 13. Tout cela aura lieu certainement dans la foulée du keynote du 7 juin.

avatar julien74 | 

Je dois être un vieux croûton mais je trouve ce langage illisible.
Comme le powershell d’ailleurs...

Par rapport à un C/C++ ou PHP, quel bazar au niveau syntaxe! Ou alors je suis devenu à côté de la plaque.

avatar Baptiste_nv18 | 

@julien74

Personnellement c’est tout l’inverse. Je trouve le PHP absolument immonde.

avatar Florent Morin | 

@julien74

Oui et non.

Il y a toujours la syntaxe de base qui est habituelle.

Les évolutions permettent de simplifier certains usages, au prix d’un nouveau vocabulaire. On s’y fait.

Au début, on se dit « mais pourquoi ? » puis on finit par ne plus s’en passer.

avatar cv21 | 

Je suis un codeur du dimanche, 36 du mois, à côté de la plaque régulier... Malgré plusieurs essais en Swift, je rencontre la même difficulté par rapport à C, php ou pascal.

avatar julien74 | 

@cv21

Je viens du Turbo Pascal. programmation objet avec héritage quand j’étais au collège...
Puis du C/C++ durant mes études d’ingénieur, classes, templates, surcharge d’opérateur, etc...
Enfin PHP en milieu pro, et j’y suis resté car je fais en 30s en PHP ce que je galère à faire en Perl ou Powershell en plusieurs heures.
Au contraire je trouve le PHP bien carré. Là le Swift, les « . » en début de terme après une parenthèse, on se demande d’où ça sort. Le « * » en argument pareil.
Enfin ça doit être moi... j’suis trop vieux.

avatar YetOneOtherGit | 

@julien74

Toujours surpris qu’on s’arrête à des spécificités syntaxiques qui restent ici finalement assez anecdotiques.

Si tu veux être vraiment déstabilisé je te conseille le vénérable APL 😄

https://fr.wikipedia.org/wiki/APL_(langage)

avatar QuentinRth | 

@julien74

Parce que tu vois dans ces articles des exemples de choses très précises donc forcément ça semble avoir peu de sens mais pour tout le reste (le code plus "standard" j'entends) je trouve au contraire que c'est mille fois plus lisible qu'énormément d'autres langages!

avatar amonbophis | 

Questions de néophyte :
Est ce que le but du swift est de remplacer le c++ ou obj-c?
Avec ces évolutions régulières mais fréquentes du langage, est ce que ce ne risque pas de décourager les courageux qui veulent s’y mettre?
Pourquoi autant d’avis différents sur ce langage, pourquoi n’a t on toujours pas un langage universel?

avatar YetOneOtherGit | 

@amonbophis

"Est ce que le but du swift est de remplacer le c++ ou obj-c?"

Remplacer Objective-C qui était un héritage de NeXT et quasiment moribond avant le redémarrage du Mac et plus encore l’envole d’iOS.

Objective C est quasiment exclusif à l’écosystème Apple et la vocation principale de Swift est de prendre le relais dans cet écosystème.

avatar YetOneOtherGit | 

@amonbophis

"Pourquoi autant d’avis différents sur ce langage, pourquoi n’a t on toujours pas un langage universel?"

“There are only two kinds of languages: the ones people complain about and the ones nobody uses.”

Bjarne Stroustrup

Quant au langage universel c’est un faux pb, savoir programmer c’est très marginalement connaître des langages de programmation.

C’est connaître des paradigmes de programmation, des fondamentaux de la programmation et posséder un mind set.

La multiplicité des langues est bien plus une richesse qu’un handicap.

avatar Florent Morin | 

Swift est relativement universel. Ou du moins, c'est sa trajectoire.

En termes de syntaxe, on peut faire de l'impératif, de l'orienté objet, de la programmation fonctionnelle, du déclaratif... c'est très varié et chacun peut l'utiliser à sa manière.

En termes de plate-formes, c'est en devenir. Évidemment, on a un excellent support Apple. Mais aussi Linux. Windows : ça arrive. Raspberry Pi : c'est en cours. WASM (web) : c'est aussi en développement. Il y a même du code compatible Android.

Ce qui va manquer, ce sont les API qui iront avec. C'est à dire les outils qui permettront d'interagir avec Linux, Windows, le navigateur web et tout ça.

avatar YetOneOtherGit | 

@FloMo

"En termes de syntaxe, on peut faire de l'impératif, de l'orienté objet, de la programmation fonctionnelle, du déclaratif... c'est très varié et chacun peut l'utiliser à sa manière."

“en terme de syntaxe” pour présenter des paradigmes de programmation c’est assez étrange 😉

avatar Florent Morin | 

@YetOneOtherGit

On chipote, on chipote. 😁

avatar YetOneOtherGit | 

@FloMo

"On chipote, on chipote. 😁"

Sur du dev ? Jamais, un dev c’est univoque et ça ne fait pas dans l’à peu près 😈😄😄😄😉🖖

avatar fte | 

@YetOneOtherGit

"Jamais, un dev c’est univoque et ça ne fait pas dans l’à peu près"

Mouhahaha.

Si seulement.

avatar YetOneOtherGit | 

@fte

"Si seulement."

Le corollaire : je fais la différence entre Dev in name only et Dev 🤓

avatar fte | 

@YetOneOtherGit

"Le corollaire : je fais la différence entre Dev in name only et Dev 🤓"

Il ne reste pas beaucoup d’individus de la seconde espèce. De la à considérer que la première espèce est la variété "normale", il n’y a qu’un pas.

Pas qu’il est plus que grand temps de franchir, si je puis me permettre.

C’est un job comme un autre aujourd’hui, le penser encore pionnier ou magique ou je-ne-sais-quoi de pas ordinaire est erroné. Ce temps est passé depuis longtemps.

avatar YetOneOtherGit | 

@fte

Il y a une lumière au bout du tunnel quand même, on sent un net retour sur le marché de l’emplois pour des profils plus sérieux et des enjeux de qualité.

Niveau rémunération et perspective de carrière l’Eldoarado du Quick & Dirty se referme légèrement

avatar fte | 

@YetOneOtherGit

"Il y a une lumière au bout du tunnel quand même"

Il n’y a aucun tunnel. C’est l’évolution normale d’une profession technique, d’abord pionnière et domaine de gens de divers horizons aux grandes capacités d’adaptation, puis spécialisation de la profession et gens très pointus, puis démocratisation et gens "normaux".

Il y a toujours de la place pour des experts dans des niches, pour toutes les professions techniques.

Le développement logiciel n’est ni plus ni moins qu’une profession technique comme toutes les autres.

avatar YetOneOtherGit | 

@fte

"Le développement logiciel n’est ni plus ni moins qu’une profession technique comme toutes les autres."

Je ne cois pas cette paupérisation à l’œuvre dans les autres pans des technologies pourtant dans leur histoire.

avatar fte | 

@YetOneOtherGit

"Je ne cois pas cette paupérisation à l’œuvre dans les autres pans des technologies pourtant dans leur histoire."

C’est pourtant le cas dans toutes les branches qui ont vécu une large croissance. Soit donc à peu près tout sauf nucléaire et fusées / satellites. Et encore. Peut-être juste fusées.

Et ce n’est en rien une paupérisation, mais une démocratisation.

D’ailleurs ce n’est plus une profession, mais un ensemble de professions. L’IA ou l’embarqué, ce n’est pas le même job.

avatar domtom93 | 

Lorsqu on a touché a la simplicité du langage Ada surtout pour le // .... on trouve les autres langages totalement tordus et en surcharge syntaxique ..

avatar YetOneOtherGit | 

@domtom93

Comme le très confidentiel Eiffel de Bertrand Meyer, Ada fait parti de ces langages qui n’ont pas atteint les succès prévu mais qui ont eu une très large influence.

C’est même une quasi constante, presque tous les langages actuels doivent beaucoup à Algol, Simula, Smalltalk ... par exemple qui furent à des niveaux divers des échecs.

avatar DahuLArthropode | 

@YetOneOtherGit

"Meyer, Ada fait parti de ces langages qui n’ont pas atteint les succès prévu mais qui ont eu une très large influence"

Oui, pour les concepts. Mais pour le coup, Eiffel avait recherché l’élégance syntaxique qui fait défaut à la plupart des autres, et ne les a guère influencés.
Nous aimions le langage, pas ses performances, et nous avions fini par développer notre propre compilateur — avec suppression du code mort lors de l’édition des liens — et c’était fabuleux.
Puis la vitesse d’évolution des plateformes nous a convaincus de revenir... au C.

CONNEXION UTILISATEUR