Federighi : « Swift sera entièrement développé au grand jour sur GitHub »

Stéphane Moussie |

Swift s'ouvre, Craig Federighi aussi. Le Senior Vice President en charge de l'ingénierie logicielle a répondu aux questions d'Ars Technica et The Next Web sur le passage en open source du nouveau langage de programmation d'Apple.

Pourquoi rendre Swift open source ?

Si l'entreprise californienne a décidé de placer sa création sous licence Apache 2.0 (la même que celle utilisée par Microsoft pour une large partie de son framework .NET), c'est parce qu'elle croit dur comme fer qu'il s'agit du langage de programmation majeur pour les 20 prochaines années.

Selon Craig Federighi, il y avait une forte demande des développeurs, y compris de ceux de grosses compagnies comme IBM, pour réaliser toutes sortes d'applications en Swift. « Nous avons pensé que le meilleur moyen de rendre cela possible était au bout du compte le passage en open source. »

Le dirigeant justifie également cette ouverture peu commune chez Apple par la volonté de faire de Swift un langage largement enseigné :

Nous travaillons avec beaucoup de professeurs qui sont très intéressés par Swift parce que c'est un langage expressif qui permet d'introduire toutes sortes de concepts de programmation. Le rendre open source permet à ces professeurs de vraiment l'intégrer dans le cœur de leur programme scolaire.

Craig Federighi présente aussi cette ouverture comme une suite logique du développement de Swift 2. Il explique que bon nombre de changements apportés par cette mise à jour sortie en juin dernier ont été guidés par les retours des développeurs. Libérer Swift va permettre « d'approfondir considérablement cette interaction » avec les développeurs, estime-t-il.

Comment sera géré le projet ?

Et pour montrer que ce ne sont pas des paroles en l'air, il souligne que « l'équipe Swift va entièrement faire évoluer le langage au grand jour sur GitHub. Les modifications vont apparaître quotidiennement, y compris pour Swift 3.0. »

Plutôt qu'avoir à digérer une grosse mise à jour à la prochaine WWDC comme ce fut le cas avec Swift 2, les développeurs peuvent d'ores et déjà suivre les évolutions en temps réel sur GitHub.

L'une des nouveautés introduites aujourd'hui est le Swift Package Manager, un dépôt pour les modules Swift qui va progresser avec l'aide de la communauté. En plus de GitHub qui héberge le code, Apple a mis en place le site Swift.org qui sert de plateforme.

De nouveaux horizons

Apple a libéré dès le départ le compilateur pour Linux, qui permet donc d'écrire des applications en Swift pour Linux (seulement Ubuntu pour le moment). Et Windows ? Le responsable de l'ingénierie logicielle déclare que le système d'exploitation de Microsoft n'était pas une priorité pour le lancement, mais qu'il est très ouvert à l'idée d'une compatibilité avec celui-ci dans le futur. « Je pense qu'il est prévisible que quelqu'un dans la communauté, qu'il soit mené par Microsoft ou par d'autres, fasse ce portage. »

Il s'attend aussi à ce que la communauté pousse rapidement Swift dans les serveurs et l'utilise pour des applications de big data ou de machine learning, entre autres (lire : Perfect : du Swift « côté serveur »).

À plus court terme, Craig Federighi assure être conscient des lacunes de ce jeune langage, en particulier le problème de compatibilité ; la version actuelle de Xcode peut se retrouver dans l'incapacité de compiler du code Swift 1.x créé il y a moins d'un an. « Nous allons fournir des outils pour aider les développeurs à faire avancer leur code source », promet-il. L'un des objectifs de Swift 3.0 sera de faciliter ce cheminement de « vieux » code à travers le temps en évitant autant que possible la réécriture.

« Objective-C ne va pas disparaître »

Pour conclure, le dirigeant se veut rassurant sur Objective-C, qui « ne va pas disparaître », du moins pas tout de suite.

Nous aimons toujours le langage Objective-C. Nous sommes toujours très dépendants d'Objective-C et faisons encore une énorme part de notre travail avec lui ici à Apple. Nous allons continuer de le faire évoluer autant que nécessaire pour l'adapter à un monde en constante évolution.

Néanmoins, c'est bien Swift qui représente l'avenir. Craig Federighi « recommande » aux nouveaux développeurs et à ceux commençant de nouveaux projets d'adopter Swift. « Nous pensons que Swift est vraiment le bon point de départ. »

avatar dway | 

1) puisque les pull requests ne sont validés que par Apple, le choix sera fait pour profiter à Apple, celles qui ouvriront la porte aux concurrents seront surement sournoisement filtrées.
2) les autres projets que tu cites ne sont pas dans ce cas là
3) j'ai pas dit que cela apporterait du mieux, je sous entend que c'est moins hypocrite.

4) et je ne suis pas insultant en prétendant que tu ne pourrais répondre à une question.

Par soucis de bienveillance, je te souhaites un bon week end :)

(Et vive les trolls :) )

avatar cv21 | 

En tant que "programmeur du dimanche" je souhaite réactualiser mes connaissances, méthodes et pourquoi pas choisir un nouveau langage de programmation et de présentation des données.

Actuellement :
- du php non orienté objet
- de vagues souvenirs en Pascal ( je suis très heureux de voir que cela existe toujours ! J'adore l'EDI copie de Delphi : Lazarus)
- et à côté ...SQL, XML, et du HTML plutôt 4 que 5...

J'ai choisi sans être sûr du résultat :
- d'apprendre C++ (pour l'instant tout va bien mais j'avais très peur), Qt (QML), consolider php en phpOO, javascript
- mieux comprendre et utiliser JSON
- utiliser plus souvent les commandes shell !
- peut-être passer à HTML5 et comprendre canvas...
Cela va prendre du temps.

Pourquoi :
- je vois bien que php ne suffit pas à "alléger l'interaction d'une interface web", javascript est un plus
et finalement depuis toujours des "scripts-cgi" compilés sont possibles et surement plus rapides
- l'écriture de C++ "ressemble" à celle de php, c'est dans mon cas un avantage pour débuter
- un langage compilé reste une nécessité à mes yeux
- Qt permet d'être relativement indépendant des techno Apple. Apple étant extrêmement changeant et bloqué sur sa plateforme j'ai fait le choix de Qt.

J'ai hésité avec python et swift.
Python a fait ses preuves et il est enfin en vogue, utilisé dans des applis pour créer ses propres routines (BlackMagic, blender, etc..). Bref séduisant pour plein de raisons, et pourtant en voulant l'utiliser de façon plus réelle avec un GUI autre que Tinkle : galère; faire des scripts pour voir avec mamp : galère.
Quant à Swift, je remarque que de la version 1 à 2 il y a déjà des modifs. Xcode 7 = spaghetti (souvenez-vous Delphi)...bref là aussi : galère.

Pensez-vous que : C++, Qt, javascript et PHP restent de bons basiques pour les années à venir ?
Autre question: pourquoi un tel engouement pour les langages "simples" : Go, Swift, Rust ?

avatar Vivid (non vérifié) | 

"Autre question: pourquoi un tel engouement pour les langages "simples" : Go, Swift, Rust ?"

cela arrange beaucoup les entreprises, financièrement; tout faire a la baisse...

avatar BeePotato | 

@ cv21 : « Qt permet d'être relativement indépendant des techno Apple. Apple étant extrêmement changeant et bloqué sur sa plateforme j'ai fait le choix de Qt. »

Tu as juste choisi une plateforme plutôt qu’une autre : si tu te limites à Qt, tu seras bloqué sur la plateforme Qt.

« Autre question: pourquoi un tel engouement pour les langages "simples" : Go, Swift, Rust ? »

Swift n’est pas particulièrement simple. Il est certes moins tordu que le C++ (ce qui n’a rien d’un exploit) mais est plus complexe que l’Objective C, par exemple.

avatar Vivid (non vérifié) | 

"mais est plus complexe que l’Objective C"

Ah bon....!!!? je pense que c'est l'inverse, mais tu as surement des exemples...

avatar iPal | 

@Vivid :
La programmation fonctionnelle, par exemple.

avatar BeePotato | 

@ dway : « Croire qu'Apple fait un cadeau est aussi naïf que de penser qu'ils versent dans le philanthropisme... »

??
Mais qui donc a dit qu’Apple faisait un cadeau ?
Et pourquoi attendrait-on un cadeau d’Apple ? Juste parce que Noël approche ?

« L'open sourcing n'a qu'un seul but : profiter du savoir de centaines de developpeurs sans avoir à les payer et pernicieusement pousser leur technologie sur le devant de la scène tout en conservant les clefs de la barraque. »

Ben… oui, c’est ce qui a été annoncé clairement depuis le début, et c’est normal (et n’a rien de « pernicieux », puisqu’il est si facile de s’en rendre compte).

« La véritable avancée aurait été de mettre ce code sous GPL ou MIT. »

Ah. Et ça aurait changé quoi ?
À part des complications pour certains utilisateurs potentiels de Swift, bien sûr… ;-)

Pages

CONNEXION UTILISATEUR