Un résumé hebdomadaire du développement de Swift

Stéphane Moussie |

Le passage en open source de Swift présente de nombreux avantages pour les développeurs, comme la possibilité de participer à l'élaboration de la prochaine version majeure du langage et de suivre en direct ses évolutions.

À ce sujet, Jesse Squires, développeur chez Facebook travaillant sur Instagram, vient de s'engager à publier chaque semaine un billet de blog (en anglais) résumant les faits marquants des jours précédents.

Crédit Yuko Honda CC BY-SA

Dans le billet de semaine, on apprend entre autres que Chris Lattner, l'employé d'Apple à l'origine du langage, contribue généralement au projet tard le soir ; qu'un développeur a fait une pull request qui corrige 323 bugs d'un coup ; que Swift a maintenant plus de 200 contributeurs ; et que le guide The Swift Programming Language est maintenant disponible en dehors de l'iBooks Store et passe sous licence Creative Commons Attribution (CC BY 4.0), ce qui veut dire qu'il peut être traduit par quiconque.

Ce résumé de la semaine sera publié chaque jeudi, le jour où Swift a été libéré. Jesse Squires est ouvert à toutes les suggestions pour l'améliorer.

avatar occam | 

L'implication symbolique de l'illustration risque de prêter à confusion :
le martinet Swift sur fond de cappuccino, cela pourrait signifier que, sous le bubble layer mousseux de Swift se trouve un fond concentré de Java.

D'autre part, concernant Chris Lattner, l'image pousse à se demander s'il s'agit d'un Lattner macchiato.

avatar dscreve | 

Oui, enfin le gars qui a fait la pull request de 323 fix s'est juste bien fait remettre en place par un ingénieur de chez Apple pour avoir essayé de donner des leçons assez maladroitement....

avatar Mathias10 | 

@dscreve :
Je veux en savoir plus!

avatar Wes974 | 

Moi aussi j'aimerais bien en savoir plus

avatar hawker | 

Ce langage est pas une super nouvelle. Plus haut niveau = binaries moins optimisées et plus accessible au devs pas tres bons = plus de logiciels pourris et moins rapides.
Le tout entièrement contrôlé par Apple Inc qui fait tout pour avoir tout le monde dependant de ses standards.
je prefere que les langages systèmes soient bas niveau et geres par une fondation independante...

avatar Domsware | 

Je ne suis pas du tout d'accord avec tes propos notamment concernant la qualité des applications.

Pour pratiquer les 2 langages Objective-C et Swift, c'est ma profession, avec en plus une solide expérience dans le développement de logiciels critiques je peux t'affirmer que Swift est une bouffée d'air frais par rapport à Objective-C qui va rendre les programmes beaucoup plus robustes et évolutifs.

D'ailleurs ce commentaire me rappelle le passage de l'assembleur à des langages plus évolués, jadis : code pourri et baisse de performances !

avatar 6ix | 

@hawker :
Absolument pas d'accord. Ce genre de commentaire me fait penser à cette tranche de développeurs (et je ne peux que souhaiter que tu n'en fasses pas partie) pour qui la qualité passe par la complexité. Ce qui est un non sens!
On voit ces remarques à chaque amélioration qui touche au fait qu'on simplifie une tâche qu'un développeur a mis un peu de temps à maîtriser. Mais rendre les choses simples, c'est aussi rendre ces elements plus accessibles, plus robustes, et permettre au dev de prendre du temps sur un sujet plus abouti.
Ou penses-tu réellement que c'était plus efficace sans ARC, plus lisible sans programmation orientée objet, plus simple à coup d'optimisations en assembleur...?

avatar Seccotine | 

Justement, Swift permet aux très bon programmeurs de faire de meilleures choses encore.
En quoi penses-tu que le niveau soit plus haut qu'Objectice-C, sinon ?

avatar Sostène Cambrut | 

@hawker

Ce pauvre discours rétrograde… j'espère pour toi que tu codes en kobol et que tu t'éclaires qu'à la bougie, vieux cylon.

avatar tekikou | 

Hahahahahaha bien dit !

avatar Samus | 

@hawker : pour rester poli, je dirais que les "devs pas tres bon" (dont je fais parti, car je debute absolulement en swift et meme en programmation) te font caca dessus. Ils sont tres heureux de s amuser avec Swift et si ils font des logiciels pourris, tu n es pas obligé de les acheter

avatar hawker | 

Il ne faut pas exagérer, j'aime bien les ampoules led en plus.
C'est juste que lorsqu'on bosse sur des systèmes de solvers par exemple, voir ces langage présentes comme le future global parait un brin pas raisonnable.
Les cpu sont de plus en plus puissants pourtant les codes sont toujours de plus en plus lourds, par raison cosmétiques, sécuritaire ou pour simplifier la vie du dev. Sans aller jusqu’à l'assembleur, un code trop haut niveau pourra difficilement rivaliser avec un c++. A moins que les compilateurs ne se mettent a faire de la magie. Mais a force de voire des logiciels avec 3 fonctions et qui pèsent des tonnes, ça irrite, c'est tout.

avatar occam | 

@hawker:
Merci de vos précisions. On comprend mieux votre point de vue.
J'avoue, ma réaction initiale à votre premier post a été semblable à celle des autres intervenants, mais on vous a assez tiré dessus à boulets rouges, et, comme Brassens, je n'aime pas les foules qui crient "haro sur le baudet !"

Votre exemple des solvers explique peut-être un malentendu : il y a ceux qui cherchent à réaliser une solution que j'appelle structurelle, viable sur le long terme (pour autant que l'OS s'y prête). Et ceux qui s'efforcent "to get the job done", en un temps donné, produisant un code lisible et adaptable. Ces derniers seront, comme moi, les adeptes de langages de haut niveau, par économie de temps et de priorités, même si le code n'est pas optimisé au max et que l'on gaspille des ressources côté mémoire et CPU.

Je suis assez vieux pour avoir appris la programmation sur un mainframe IBM 3033. Le chef du centre de calcul était un vieux de la vieille, genre "Assembler über alles". S'il avait pu tout faire en langage machine, il l'aurait fait. Après une révolte des utilisateurs, nous sommes passés de JCL au time-sharing, à PL/I, Fortran 77 avec optimizing compiler, et top du top, à APL sur terminal graphique pérennisé dans la linkpack area, avec 512kB de tranche de mémoire par utilisateur. (Sous JCL, nous n'en avions que 32 kB, et les routines en Assembler /360 ne devaient pas dépasser 8kB.)

D'un côté, consommation de ressources croissant de façon exponentielle. Mais de l'autre côté, nous étions enfin productifs: on pouvait résoudre des problèmes au lieu de batailler contre la machine. Et je vous garantis que même il y a 30-35 ans, on aurait donné notre main droite pour programmer un système d'équations linéaires simultanées en APL au lieu d'Assembler ou C (ou même Fortran, à la limite).

avatar cv21 | 

Dans quasiment toutes le boites où je suis passé j'ai dû à un moment ou un autre faire un "développement pourri"...mais fonctionnel et bien pratique pour le quotidien de l'association ou de l'entreprise.

Du VisualBasic, Pascal, Php sûrement mal écrit, mal optimisé mais au final si c'est fiable et facilite la vie tant mieux. Quand je vois la liste des langages de programmation je comprends toujours mal/pas pourquoi Apple et d'autres réinventent la roue ? Pourquoi pas un langage déjà existant, je sais c'est naïf !
https://fr.wikipedia.org/wiki/Liste_des_langages_de_programmation

Tient encore un langage de plus, tout récent : Ritchie, les avantages de Python avec la vitesse du C ! Tout un programme !
http://www.developpez.com/actu/93657/Ritchie-un-nouveau-langage-de-programmation-derive-de-C-qui-veut-combiner-la-facilite-de-Python-et-la-vitesse-de-C/

avatar ovea | 

Oublier le seul principe intéressant dans un langage, son expressivité et c'est le cataclysme

CONNEXION UTILISATEUR