Swift 6 apportera de la joie aux développeurs sur de nouvelles plateformes

Nicolas Furno |

Maintenant que Swift 5 avec son objectif de stabiliser les ABI est à peu près terminé, il est temps de penser à Swift 6. Ted Kremenek, responsable chez Apple du développement du langage, a évoqué sur les forums officiels du projet les pistes qui vont être suivies pour la prochaine mise à jour majeure de Swift. Trois axes principaux ont été définis pour les prochaines années :

  • agrandir l’écosystème ;
  • améliorer l’expérience des développeurs ;
  • renforcer les capacités du langage.

Agrandir l’écosystème

Swift a été créé au sein d’Apple, le langage est surtout mis à jour par des employés Apple et il sert surtout dans l’écosystème d’Apple. Mais son ambition dépasse largement ce cadre pommé : Swift est censé pouvoir répondre à tous les besoins en matière de développement sur toutes les plateformes. C’est pourquoi il est open-source depuis le premier jour, et c’est pourquoi on le retrouve sur les serveurs Linux et en partie sur Android.

Avec cette sixième version, Apple souhaite que son langage de développement s’ouvre à de nouveaux horizons. Ted Kremenek ne s’engage pas sur la prise en charge de nouvelles plateformes, mais il suggère fortement qu’une prise en charge officielle de Swift Linux pour processeurs ARM soit envisagée.

Autre indice, la « Core Team » gagne deux membres, un employé d’Apple (Tom Doron, qui a surtout travaillé sur Swift pour les serveurs) et Saleem Abdulrasool. Ce dernier est un choix intéressant, puisqu’il travaille depuis plusieurs années sur une adaptation de Swift à Windows. Son arrivée dans cette équipe est-elle un indice en faveur d’une prise en charge officielle de la plateforme de Microsoft ?

Pour accompagner cette ouverture à d’autres systèmes d’exploitation, Swift 6 devrait améliorer ses outils multi-plateforme. En particulier, le gestionnaire de paquets Swift qui simplifie l’installation de modules supplémentaires ne devrait plus être limité à macOS. Apple s’engage aussi à améliorer les libraries qui enrichissent le langage avec des fonctionnalités supplémentaires, à l’image de Numerics qui est disponible depuis l’automne.

Améliorer l’expérience

Le deuxième point intéressera tout particulièrement les développeurs d’apps pour les produits Apple. Swift 6 devra offrir une « expérience de développement fantastique » et « les développeurs devraient être à la fois productifs et ressentir de la joie en programmant », explique Ted Kremenek. Un objectif ambitieux, d’autant que c’est l’une des critiques qui revient le plus souvent, surtout de la part de développeurs qui ont commencé avec Objective-C.

Notre app iOS est codée en Swift. Une partie de son code source est affiché ici dans la dernière version de Xcode 11.

Les temps de compilation plus longs, l’autocomplétion du code moins bonne ou encore des erreurs souvent trop obscures : on retrouve souvent les mêmes critiques, et Apple va améliorer les choses sur tous ces points. Swift 6 permettra d’accélérer les compilations et notamment les compilations incrémentales (où une toute petite partie du code a changé depuis la précédente) qui sont les plus courantes au quotidien. L’autocomplétion devrait être plus rapide et précise et en cas d’erreurs, les messages devraient être plus clairs et utiles.

Ces changements seront probablement accompagnés de mises à jour du côté de Xcode, et Ted Kremenek indique que le travail est déjà en cours pour les compilations. Avec un peu de chance, les développeurs pourront en bénéficier dès cette année, avec le successeur de Xcode 11.

Renforcer les capacités

Pour finir, le troisième point concerne les capacités du langage au-delà des apps pour l’écosystème d’Apple et des utilisations sur le serveur. Swift est aussi censé répondre à tous les besoins, et un effort va être fait avec la sixième version pour répondre à des besoins nouveaux. L’intelligence artificielle et l’apprentissage automatisé sont des domaines de prédilection, mais le travail va aussi porter sur le développement bas niveau, celui qui est nécessaire pour écrire le noyau d’un système d’exploitation ou le firmware d’un matériel.

Apple ne donne aucune date pour la sortie de Swift 6, qui se fera d’ailleurs de manière progressive. On peut s’attendre à une version 6.0 qui ne contiendra qu’une partie des nouveautés, et la suite viendra avec les 6.1 et suivantes.

avatar oomu | 

"Le deuxième point intéressera tout particulièrement les développeurs d’apps pour les produits Apple. Swift 6 devra offrir une « expérience de développement fantastique » et « les développeurs devraient être à la fois productifs et ressentir de la joie en programmant », explique Ted Kremenek. Un objectif ambitieux, d’autant que c’est l’une des critiques qui revient le plus souvent, surtout de la part de développeurs qui ont commencé avec Objective-C."

heu, alors Objective-C, en son temps, il apportait de la joie, vu qu'on se passait de quelques horreurs syntaxiques de C++, d'un modèle objet clair et net, et d'une véritable compatibilité C. mais bon hein.

De nos jours, arrêtons les fantasmes qu'une syntaxe puisse rendre heureux et apporter de la "joie", et faites du Python.

Toute façon nous le savons tous, vous sortirez d'école pour faire en boucle des contrats de mission à débuguer du code ecmascript IE6 d'une application héritée de B2B entre courtiers internationaux...

avatar Slizz | 

@oomu

Je réfléchis grandement justement à l’apprentissage du Swift ou de Python.

Les deux m’intéresses tout particulièrement. Python à l’air très répandue dans l’industrie et dans tout ce qui est ML, AI.... Et swift arrive en force, c’est un nouveau language certes qui est jeune mais qui a l’air prometteur.

avatar oomu | 

Python est indispensable. Vous le trouverez partout, autant dans le web, l'IA, l'administration système, le prototypage d'outil interne, etc.

Ce qui fait la valeur d'un langage, c'est surtout son écosystème de bibliothèques. Python est très complet et il y a un univers de bibliothèques construites par dessus.

D'avantage qu'apprendre une "syntaxe" (bof, la routine), c'est surtout être à l'aise avec le framework, les bibliothèques les mieux maintenues et utiles.

Swift est "jeune", autrement dit: y a pas grand chose.

Bon CDD de mission en Picardie à débugger le code DBase/Cobol/Grafcet des automates de l'usine de soup..heu je veux dire... bonne embauche avec participation à écrire du code python de génération d'apprentissage profond Torch de robot d'aide à l’handicap dans une startup Californienne avec jus d'orange frais.

avatar occam | 

@Slizz

Python ou Swift ?

Terry Jones vient de rejoindre le Bleu Norvégien.
Graham Chapman, trente ans que son métabolisme est de l’histoire ancienne.
John Cleese, Eric Idle, Terry Gilliam : pas franchement guillerets non plus.
Seul Michael Palin a l’air primesautier, malgré ses 76 ans bien sentis.
Alors, Python, pas vraiment la primeur du jour.

Mais Swift ? Swift craille dans le choeur céleste depuis 1745.

À tout prendre, donc, Python.
Two down, four to go, c’est toujours ça.

avatar Albator1138 | 

@ occam

> Terry Gilliam

Brazil !!! le meilleur film de tous les temps .....

avatar MacPlusEtc | 

@Albator1138

Nostalgie... Swift n’a pas tout balayé, heureusement...

avatar Grizzzly | 

@Slizz

Il faut coder ce qu’on code avec enthousiasme.

Ca s’applique pas qu’au code d’ailleurs.

avatar Dimemas | 

+1 pour le python, je me suis mis à faire du swift et mes collègues n’arrêtent pas de me rabâcher ça et ils ont raison...

avatar oomu | 

https://swift.org/download/
https://swift-linux.refi64.com/en/latest/

queuah ? pas de support simple et rapide de Debian 10 ?! Bon allez je me casse.

apt install tropDeTempsPerdu

avatar geooooooooffrey | 

"les développeurs devraient être à la fois productifs et ressentir de la joie en programmant"

Faudrait arrêter l'opium mec.

avatar oomu | 

un code bien indenté, où implémentation et gestion d'erreur s’emboîte dans un tout harmonieux, avec syntaxe élégante, est une symphonie des sphères pour le coeur de l'ingénieur ;)

avatar broketschnok | 

Merci qui ?

avatar roquebrune | 

Et toujours impossible de coder sur iPadOs

avatar Kyubia | 

Il faut commencer à apprendre par Objective-C et puis Swift ? Ou on peut apprendre directement Swift ?

avatar Brice21 | 

@Kyubia

Non il faut commencer par Fortran ;)

avatar Lightman | 

@Kyubia

Direct Swift, ça devrait aller.

CONNEXION UTILISATEUR