Un résumé hebdomadaire du développement de Swift
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.
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.
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.
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....
@dscreve :
Je veux en savoir plus!
Moi aussi j'aimerais bien en savoir plus
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...
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 !
@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...?
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 ?
@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.
Hahahahahaha bien dit !
@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
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.
@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).
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/
Oublier le seul principe intéressant dans un langage, son expressivité et c'est le cataclysme