Ouvrir le menu principal

MacGeneration

Recherche

Swift, un langage conçu par Apple pour Apple

Anthony Nelzin-Santos

mardi 03 juin 2014 à 19:00 • 93

macOS

Avec la nouvelle interface d’OS X Yosemite, les extensions d’iOS 8 et la « continuité » liant les deux, on en oublierait presque qu’Apple a présenté rien de moins qu’un nouveau langage de programmation. Swift, c’est son nom, est présenté comme « un Objective-C sans le barda du C ». Et il y a de ça.

Que les choses soient claires, Swift n’a pas été conçu comme un langage de programmation « universel » : il a clairement été conçu « pour le développement sur OS X et iOS », « pour Cocoa et Cocoa Touch ». Il repose sur la base du C et de l’Objective-C, « sans la contrainte de la compatibilité avec le C », mais avec toutes les technologies développées par les ingénieurs Apple ces dernières années (dont ARC et LLVM).

Swift se veut « moderne, sûr, interactif et performant ». Moderne, il l’est par sa syntaxe concise : oubliés les headers, envolés les points-virgules, Swift rappelle immanquablement les langages de script — Apple ne se lasse d’ailleurs pas de le comparer avec Python. Le simple exemple du « Hello world » est parlant. Ce code Objective-C :

#import <stdio.h>
#import <Foundation/Foundation.h>
 
int main(void)
{
    NSLog(@"Hello, world!\n");
    return 0;
}

Est équivalent à ce code Swift :

println("Hello world!")

La déduction du typage, l’interpolation de variables, les clôtures, les tuples et bien d’autres fonctions participent à cet allégement de la syntaxe du Swift. Il est incontestablement élégant, même si la concision va souvent de pair avec une certaine opacité. Apple fournit cependant une épaisse documentation d’une clarté exemplaire qui permettra aux développeurs de rapidement comprendre les particularités de Swift.

Apple assure avoir « des objectifs très ambitieux » pour Swift, en allant jusqu’à évoquer un système d’exploitation qui serait codé en Swift. Reste que pour le moment, il est d’abord et avant tout conçu pour développer des applications simples, ou les pans les plus simples d’une application.

Mais dans le même temps, l’idée est qu’il puisse se substituer de plus en plus à l’Objective-C et au C : le C sera toujours utilisé pour coder au plus près du matériel, mais il n’y a aucune raison de ne pas utiliser Swift pour le reste. Il peut donc déjà exploiter toute la richesse de Cocoa et Cocoa Touch, et il ne serait pas étonnant que les futures APIs d’OS X et iOS lui soient réservées.

LLVM a été particulièrement travaillé pour optimiser au mieux le code natif ARM ou x86-64 produit par la compilation d’un projet Swift — mais comme tous les autres langages « modernes », c’est sa syntaxe même qui assure que le développeur ne commette pas certaines erreurs communes ou tombe dans des pièges. Facilité d’appréhension du code et rapidité d’exécution vont main dans la main, alors qu’elles ont traditionnellement tendance à s’opposer.

Mais un des aspects les plus intéressants et les plus importants de Swift est sans doute son interactivité, qui rappelle celle des grandes heures du Lisp. En mode playground, le code Swift est compilé à la volée pour procurer un retour instantané au développeur — quelque chose de « normal » pour les développeurs web, et dont l’implémentation rappelle les travaux de l’ancien ingénieur d’Apple Bret Victor.

Un tutoriel de découverte de Swift qui montre tout l'intérêt du playground. Via @GeekUnivers.

Cette fonction est extrêmement utile dans l’apprentissage du Swift, tout autant pour le développeur chevronné que le développeur débutant. Apple s’offre là l’occasion d’attirer de nouveaux publics à la programmation, donc de renforcer son écosystème. Et de le renforcer à long terme, puisque les développeurs Swift seront avant tout des développeurs OS X et iOS. Un langage conçu par Apple pour Apple, en somme.

GitHub regorge déjà de projets développés en Swift. Notre développeur Nyx0uf s’est fait la main sur ce langage avec son éditeur de texte mimant les fonctions de Writer Pro : vous pouvez télécharger la version Objective-C ici, et la version Swift là, de quoi comparer les deux.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

MacBook Air M2 : le modèle 16 Go à 729 €, (presque) son plus bas historique ! 🆕

20/12/2025 à 16:30

• 98


iPhone Fold : une fuite chez les accessoiristes donne une idée des dimensions, et le format pourrait être surprenant

20/12/2025 à 16:07

• 70


MacGeneration : le point sur la santé économique du site

20/12/2025 à 10:30

• 135


Quel pourrait être l'impact de la RAMpocalypse sur Apple ?

20/12/2025 à 09:00

• 39


Sortie de veille : que retenir des grosses fuites sur les projets secrets d’Apple ?

20/12/2025 à 08:00

• 3


Crucial écoule ses stocks de SSD Externe : 1 To dès 80 €, 2 To dès 133 €, 4 To dès 240 €

19/12/2025 à 23:55

• 27


Guide de Noël : les disques durs, le stockage à tarif doux

19/12/2025 à 22:45

• 32


OpenAI dévoile sa nouvelle politique concernant les mineurs, et spécifiquement les ados

19/12/2025 à 21:45

• 16


Un cluster de Mac Studio peut atteindre plusieurs To de RAM grâce au Thunderbolt 5

19/12/2025 à 18:00

• 16


Shein échappe à une suspension provisoire en France, le gouvernement va faire appel 🆕

19/12/2025 à 17:39

• 20


Dans les aéroports, les AirTags font chuter drastiquement le nombre de bagages définitivement perdus

19/12/2025 à 16:49

• 22


Bloom, un gestionnaire de fichiers alternatif pour les insatisfaits du Finder

19/12/2025 à 16:02

• 5


Ressuscitez vos clichés flous : Aiarty transforme vos photos grâce à l'intelligence artificielle (coupon exclusif, offre de Noël) 📍

19/12/2025 à 15:15

• 0


WD Passport pour Mac : un disque externe 5 To pour 130 € (-30 €)

19/12/2025 à 12:31

• 0


OpenAI lance la formule ChatGPT Go en France : 8 € par mois pour un usage plus généreux

19/12/2025 à 12:05

• 48


AirPods Pro 3 : les grésillements font de la résistance

19/12/2025 à 10:35

• 36