Swift: Pourquoi Apple a créé un nouveau langage de programmation

INFORMATIQUE Simple et moderne, il devrait permettre à une nouvelle génération de développeurs de se mettre à coder. Et à Apple de mieux les contrôler...

Philippe Berry

— 

Swift, un langage de programmation dévoilé par Apple le 2 juin 2014.
Swift, un langage de programmation dévoilé par Apple le 2 juin 2014. — APPLE

A la conférence WWDC, lundi, le segment le plus applaudi par les développeurs n'a pas été la présentation d'iOS 8 ou d'OS X Yosemite. Non, la salle s'est levée pour l'annonce d'un nouveau langage de programmation «maison» d'Apple, baptisé Swift. Voici pourquoi.

Un langage moderne pour les apps iOS. «Swift, c'est de l'Objective-C sans le C», a lancé le patron d'iOS/Mac OS, Craig Federighi, tout sourire. Traduction pour les non-geeks: Swift succède à Objective-C, un langage de programmation dérivé du C principalement utilisé dans l'univers Apple, qui commence à accuser ses 30 ans. Lourd, confus et un peu dépassé, il est compliqué à apprendre et plus vraiment adapté aux concepts modernes de la programmation, notamment dans la gestion de la mémoire.

Plus concis et plus rapide. Sa syntaxe est beaucoup plus claire et (presque) compréhensible par le commun des mortels. Besoin de stocker le chiffre favori de trois personnes? Avec Swift, il suffit d'une ligne:

  • var favoriteNumbers = ["Jane": 7, "Bob": 21, "Sarah": 99]

En Objective-C, il en faut quatre:

  • NSDictionary *favoriteNumbers = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInteger:7], @"Jane", [NSNumber numberWithInteger:21], @"Bob", [NSNumber numberWithInteger:99], @"Sarah", nil]];

Swift devrait être plus simple à apprendre pour les débutants, et les programmeurs devraient perdre moins de temps à débugger le code, alors que l'oubli d'un seul point virgule peut empêcher un programme de s'exécuter. Surtout, ils pourront voir en quasi-direct le résultat d'une modification sans devoir tout recompiler (l'étape de traduction du code).

Swift, le nouveau BASIC. C'est le point de vue du journaliste/développeur David Gewirtz. Selon lui, par sa simplicité, Swift a «le potentiel pour révolutionner le développement professionnel d'apps tout en ouvrant la porte à une utilisation éducative et de loisir». Et à l'heure où les politiques poussent pour enseigner la programmation à l'école, le langage d'Apple pourrait bien séduire.

Un portage vers Android plus compliqué. A l'heure actuelle, porter une app d'iOS vers Android, et vice-versa, est relativement simple grâce à des traducteurs entre Objective-C et Java, le langage principal de la plateforme de Google. En s'éloignant du C avec Swift, Apple pourrait bien s'assurer la fidélité exclusives des développeurs iOS, ce qui ne plaît pas à tout le monde. «Un langage de programmation ne devrait pas être conçu pour une plateforme particulière», regrette l'ingénieur David Auerbach. Qui relève que Swift n'est, pour l'instant, pas open-source: Apple exerce un contrôle absolu sur iOS, sur sa boutique, et, désormais, sur le ciment pour fabriquer les apps. Le rêve d'applications Web universelles et multiplateformes s'éloigne un peu plus.