Swift d’Apple, le digne successeur d’Objective C, est l’un des langages qui marchent le mieux en 2016. L’explication venant de ce qu’il s’agit d’un concentré d’idées intéressantes, parfois récupérées chez les concurrents, mais qui globalement rendent le langage très séduisant, tout à fait capable d’attirer une autre population de développeurs que celle des fans inconditionnels de la marque à la pomme.

Nous en sommes actuellement à la version 3.0 de Swift, toute récente, mais d’ores et déjà la version 4.0 pointe à l’horizon, pour la fin 2017. Ce qui avec la 3.1 devrait faire 2 mises à jour majeures, en plus des corrections mineures qui pourraient intervenir « au fil de l’eau ». Liées à des bogues, par exemple.

Apple, qui au passage, récolte les fruits de sa stratégie Open Source, mais pas sans difficultés, s’est donné deux objectifs : améliorer la stabilité du code et encadrer le mieux possible la compatibilité ABI (Application Binary Interface) entre ses applications et les librairies externes.

On rappelle qu’il faut faire une distinction entre les 2 formes d’interfaces de programmation qui peuvent exister pour accéder à une librairie : l’API classique et l’ABI, qui est le code objet équivalent d’une API. C’est une interface de bas niveau entre une application et la librairie dont elle veut faire l’usage. Quant au compilateur du langage, il ne fait rien d’autre que de traduire l’API invitée en ABI.

Et quand Apple parle d’améliorer la compatibilité ABI, il veut dire que dans un futur proche, il ne veut plus que les développeurs se demandent avec quelle version de Swift leur librairie a été compilée et l’intègrent sans « état d’âmes » dans leurs applications. Ce qui va évidemment fortement leur simplifier le travail.

D’autres nouveautés sont prévues : les expressions régulières et les chaînes littérales « multilignes », par exemple. Mais aussi des améliorations sur les « generics », le support des sous-modules, l’importation d’API C++, un meilleur support SIMD (un même code pour de multiples données), un meilleur traitement du parallélisme, etc.

On voit bien en filigrane qu’Apple ne s’interdit pas d’investir le marché attirant du Big Data et verrait d’un bon œil son langage Swift s’inviter à la table des réjouissances.

D’une certaine manière, cette évolution du langage nous rassure. Car nous avions l’impression qu’Apple avait perdu cette caractéristique qui avait fait sa force, la simplicité d’usage. Il suffit par exemple de demander à un utilisateur Mac ce qui lui plaît dans sa machine, il vous répond invariablement la simplicité d’utilisation, par opposition à Windows, qualifié d’usine à gaz du Néandertal. En supposant que les extractions de gaz existaient du temps de l’homme de Néandertal.

Or ce qu’envisage Apple avec Swift va exactement dans le (bon) sens  de la simplicité, ce qui ne veut pas dire restriction, bien au contraire.