Swift : cinq ans de développement en une vidéo
Swift est non seulement open-source, mais Apple va jusqu’au bout de l’idée en publiant le code source de son langage et toutes les évolutions et discussions sur GitHub. C’est la première fois que l’entreprise adopte une solution aussi transparente, où n’importe quel développeur peut venir poser des questions et même faire des propositions pour faire évoluer Swift dans un sens, ou dans un autre. Ce qui n’a pas raté d’ailleurs, il y a eu depuis hier plus de 200 PR (« pull requests », des propositions de modifications envoyées par d’autres développeurs).
Mais cette ouverture ne commence pas aujourd’hui : tout le projet Swift a été mené sur Github, depuis sa naissance dans les mains de Chris Latner en 2010. Et Apple n’a rien caché : on a tous les « commits » (les modifications apportées) depuis le début. Soit près de 30 000 modifications que l’on peut découvrir, un historique complet sur la création d’un langage. C’est intéressant pour en savoir plus sur le Swift, et un internaute a eu la bonne idée de créer une vidéo pour représenter l’évolution.
Cette vidéo a été réalisée grâce à Gource, un outil qui analyse tous les commits d’un projet Github et affiche à chaque fois les développeurs et leur travail. On voit au tout début que Chris Latner crée et modifie une poignée de fichiers, et au fil des années, on voit comment le projet évolue et grossit au sein d’Apple. C’est fascinant de voir cet énorme travail, et le rendu est plutôt joli.
Ça m'étonnerai que le projet ai été développé sur GitHub depuis le début. Je pense qu'Apple a ses propres serveur Git en interne. Et il est très facile de changer l'origine d'un projet Git, avec tout l'historique, sur une autre plateforme. Et ce de façon transparente.
Et précision : Gource n'est pas que réservé à GitHub mais à tout projet Git. Il récupère juste le .git qui se situe à la racine du projet.
Effectivement, par ex :
https://github.com/apple/swift/commit/18844bc65229786b96b89a9fc7739c0fc897905e
"Swift SVN r3"
Visiblement c'était un dépôt SVN migré à Git
Beaucoup de boîtes de développement migrent de SVN à Git qui est quand même plus souple (les réconciliations avec fusion de SVN, c'est parfois l'enfer).
Effectivement, il y a des projets qui sont passé de CVS à SVN puis Git... Il sera probablement lui aussi remplacé un jour par un nouvel outil.
Au tout début dans mon cas, ce n'était pas CVS mais Microsoft Visual SourceSafe (c'était pas hyper terrible car basé sur un système de fichiers avec des locks). Cela a été complètement abandonné. C'était purement sur un réseau interne et j'avais un autre produit (SourceOffSite) qui était (de tête) collé sur un Apache pour y accéder de l'extérieur. C'était le bon temps :-)
@Ast2001 : Haaa le lock du fichier... Le bonheur :D T'avais aucun conflit à gérer.
Bon ok tu ne pouvais pas éditer un même truc à deux... Mais c'était l'idée.
Je suis passé par là aussi ;)
Git c'est quand même bien le pied. A partir du moment où tu piges que tu peux ré-écrire l'histoire :p
Effectivement, toujours cette petite confusion entre CVS (Git, SVN) et hébergeur (Github, BitBucket).
Ahah bien jouer les mecs!
J'ai rien compris à la vidéo mais c'est assez hypnotique ! (PS: je suis sobre!)
Une autre vidéo, concernant le projet SPIP : http://medias.spip.net/medias/video-tutorials/article/evolution-de-spip-hd (Il y a de la musique + un petit texte explicatif)
@PierreBondurant :
Visiblement il y a quelques mouches, les petits personnages gris virevoltés qui butinent de droite à gauche autour de grappes fruitées … et c'est très moches : il y a de meilleur dessins animés avec des mouches qui se font taquiner par des coccinelles avec des layouts filmés dans la nature :-))
@PierreBondurant :
C'est MacGé qui a trouvé la vidéo qui spoile la bataille finale du prochain Star Wars
On dirait des échanges électriques entre des synapses dans le développement d'un cerveau.
C'est joli, mais j'ai pas vu le moment où "println" devient "print" ;-)
Faut retrouver le type qui a eu l'idée des deux mots clefs "let" et "var".
let: https://github.com/apple/swift/commit/65aa09d4643098aa1570fb2a65a5013498a9c8ff
var: semble être là avant la migration dans git, son ajout n'est pas présent dans l'historique Git.