Chris Lattner garde un pied dans le développement de Swift

Nicolas Furno |

Chris Lattner est celui qui a inventé Swift, le nouveau langage de développement d’Apple. En début d’année, il quittait l’entreprise de Cupertino pour aller travailler chez Tesla avant de démissionner à nouveau il y a une semaine. En attendant de savoir ce qui attend ce développeur brillant qui aime manifestement les défis, il était présent au début du mois de juin dans une table-ronde sur Swift en parallèle de la WWDC. À cette occasion, il s’est exprimé sur son départ d’Apple et sur le futur de son langage.

Chris Lattner, troisième en partant de la gauche. Cliquer pour agrandir

Le développeur Ole Begemann a transcrit les passages les plus intéressants de cette apparition en public. Puisqu’il s’agit d’une conférence dédiée aux développeurs, les propos sont très vite techniques et nous n’allons pas évoquer le point de vue de Chris Lattner sur les fonctions dynamiques ou la programmation concurrente. En revanche, point essentiel, il a donné son avis sur le débat entre tabulation et espace.

Le développeur est revenu sur son départ d’Apple, une décision qui a été très difficile à prendre, explique Chris Lattner. Tout en indiquant que c’était la bonne décision pour lui et qu’il n’était plus indispensable dans l’entreprise. Avant même son départ, il ne se chargeait plus vraiment du développement de Swift et son équipe tournait toute seule, et c’est toujours le cas aujourd'hui. Il félicite à nouveau Ted Kremenek qui lui a succédé chez Apple et qui l’avait fait bien avant son départ.

Néanmoins, il ne quitte pas totalement Swift, ce langage qu’il a créé et qu’il aime toujours, assure-t-il. Puisque c’est aussi un langage open-source et que son développement se poursuit en public, il garde un œil sur le projet et participe même quelques fois aux débats. Interrogé sur l’intérêt de la planification des fonctions en public, Chris Lattner reconnaît que ce n’est pas toujours une bonne idée, parce que les retours négatifs peuvent parfois frustrer les développeurs et bloquer les évolutions.

Cela étant, annoncer publiquement les évolutions est le meilleur compromis pour un langage de développement. Il y aura toujours des compromis à faire et il vaut mieux les expliquer en public, justifie Chris Lattner. On sait que le développeur était le principal moteur pour pousser Apple à ouvrir le langage, ce n’est donc pas vraiment une surprise. Au sujet des évolutions de Swift, il salue le changement d’objectif en cours de route pour la quatrième version, celle qui sera finalisée cette année.

Un tout petit bout de notre app iOS, entièrement codée en Swift. Cliquer pour agrandir

Apple voulait à l’origine stabiliser complètement le langage, mais l’entreprise s’est ensuite concentrée sur la stabilité du code source (pour des explications plus complètes, lire : La stabilité, principal enjeu de Swift 4). Un choix logique, face à la quantité de lignes de Swift qui sont écrites chaque jour, la priorité est d’éviter à tous ces développeurs le coût élevé d’une transition. Le passage de Swift 2 à Swift 3 en particulier a été très douloureux et cela devrait aller mieux pour Swift 4, même s’il y aura encore un petit peu de travail.

Chris Lattner a aussi évoqué les origines de Swift, rappelant que c’était un projet personnel, intégré à Apple assez tard et seulement après avoir essayé d’améliorer Objective-C. Dans un premier temps, le développeur cherchait surtout à se changer les idées après avoir écrit un compilateur pour C++ utilisé en interne. Inventer un tout nouveau langage en partant de zéro était une idée plus fun pour lui, et c’est ainsi que tout a commencé.

Les deux objectifs de Swift

Dès le départ, il avait deux ambitions pour Swift : être facile à apprendre, et devenir potentiellement un langage universel. Le premier point explique la création des Playgrounds, ces bacs-à-sable où l’on peut écrire quelques lignes de Swift et voir immédiatement le résultat. Pensée d’abord pour l’iPad, cette fonction a en fait vu le jour côté Mac, mais Swift Playgrounds a permis de concrétiser ce rêve.

Swift Playgrounds permet d’apprendre les bases de Swift sur un iPad, en jouant. Un outil pensé pour les enfants, mais qui peut servir à tout le monde. Cliquer pour agrandir

Lorsque Chris Lattner a commencé à réfléchir à la syntaxe utilisée par Swift, il a également cherché à simplifier au maximum le « Hello World! », ce bout de code qui est utilisé par tous les langages comme point de départ. En Swift, une seule ligne suffit à afficher un message, et elle est extrêmement simple :

print("Hello, world!")

Le deuxième objectif est l’ambition folle de Swift. Dès la présentation du langage, Apple a indiqué qu’il pouvait servir au développement d’apps, mais aussi à l’écriture du noyau d’un système d’exploitation jusqu’aux scripts bricolés par l’utilisateur final. On n’en est pas encore là, mais Chris Lattner maintient cette ambition, précisant que ce sera sûrement dans un futur lointain :

Mon ambition pour Swift a toujours été et est toujours une domination mondiale totale. C’est un objectif modeste. Mais on ne parle pas de Swift 5. C’est un objectif à 10, 15 ou 20 ans.

En attendant, Swift n’a plus besoin de faire ses preuves côté apps, des centaines de milliers de développeurs utilisent déjà le langage et les nouveaux-venus apprennent en général directement à travailler en Swift, sans passer par la case Objective-C. L’autre succès de Swift, c’est du côté des serveurs qu’il faut le chercher.

Apple a rapidement proposé une version compatible Linux de Swift et le succès est au rendez-vous, désormais soutenu par le constructeur. De multiples frameworks existent déjà pour permettre aux développeurs d’apps iOS et macOS de créer des modules nécessaires sur les serveurs en utilisant le même langage que pour leurs apps. Et au-delà de la simplicité, Chris Lattner rappelle que Swift a des arguments à faire valoir en soi, en particulier sa rapidité face à ses concurrents (lire : Sur le serveur, Swift est nettement plus rapide que Node.js).

Vapor, l’un des frameworks qui permettent d’écrire des apps en Swift sur le serveur. Cliquer pour agrandir

Le prochain défi que Chris Lattner aimerait pour Swift ? Remplacer C++, un langage plutôt bas niveau qui date des années 1980 et qui reste largement utilisé pour les fondations des systèmes d’exploitation. Là encore, Swift n’est pas prêt à assumer ce rôle, mais c’est l’un de ses objectifs et son concepteur espère qu’Apple essaiera de l’atteindre.

Il y a encore beaucoup d’informations dans cette transcription de l’intervention de Chris Lattner. Si le sujet vous intéresse, n’hésitez pas à la lire, voire à regarder la conférence en vidéo à cette adresse.

avatar stefhan | 

Toujours intéressant de découvrir l'envers du décor de l'avenir d'un nouveau langage de programmation, même en tant que néophyte. Une impression de vivre une petite révolution. Merci Nicolas pour les explications...

avatar C1rc3@0rc | 

@stefhan

Parler de revolution pour Swift est vraiment très exagéré.
- Le langage n'amene aucun nouveau concept ou paradigme
- il surfe sur la mode très commune de mélanger plusieurs paradigmes
- son integration des divers paradigmes est encore tres chaotique et moins elegante que d'autres langages
- ça ressemble plus a du bricolage pour l'instant qu'a un langage bien pensée et unifié des le depart
- son champs d'applications est aussi large que flou
- il n'a pas (encore) les moyens de ses ambitions.
- il a beaucoup de concurrents
- il reste un langage sequentiel alors que la multiprogrammation est LE besoin actuel
- son approche fonctionnelle est tres batarde et ne permet pas d'en avoir tous les avantages.
- il se pose en face d'Objective-C (existant quasi que sur OS d'Apple) et espere se poser ensuite en face du venerable C++ (bon courage) et de Java (bon courage)

Il faut savoir aussi que la majorité des langages sont opensources. Ceux qui ont le mieux reussi sont des creations d'universitaires soutenu par des institutions.

Le playgroud est interressant, mais ce n'est pas une nouveauté.
En terme educatif il reprend beaucoup de trucs de smalltalk sans en avoir les qualités et la coherence.

Bref, une revolution, non. Une innovation pour Apple, oui, le langage tend a se repandre hors Apple, ce qui va faire que le langage de developpement utilisé pour MacOS et iOS existera vraiment hors Apple.
Apres, Clascal (Object Pascal), Hypercard et Objective-C, voire DyLan etaient bien plus des revolutions que ne l'est Swift.

Sinon, pour apprendre Swift y a deux tres bons cours en plus de la doc d'Apple:
- https://www.mooc-list.com/course/programmation-ios-partie-i-edx
- https://www.udemy.com/ios-10-et-swift-3-le-cours-complet/

avatar malcolmZ07 | 

@C1rc3@0rc

Tu le fais exprès de commenter/répondre au premier commentaire pour être exposé ?

avatar C1rc3@0rc | 

Et que penses tu des commentaire que je fais en milieu ou fin de page, voire sur les pages 2, 3, ... ou carrément mon absence de commentaire dans la majorité des articles?

Essayes de démontrer que ce que j’écris n'a aucun lien avec ce que je commente...

Sinon, de ton coté tu as un avis et des arguments en rapport avec le contenu des commentaires ou même des articles?

avatar IceWizard | 

@malcolmZ07
"@C1rc3@0rc

Tu le fais exprès de commenter/répondre au premier commentaire pour être exposé ? »

Oui c’est une pratique courante chez lui. Le plus marrant c’est qu’il ne comprend même pas la moitié de ce qu’il écris. Comme d’habitude il submerge un topic de ses "avis éclairés » par vague successives, en éditant sans cesse et en améliorant son argumentaire, pour prouver son expertise. Il doit passer des heures sur des tas de forums à lire des infos sur le sujet du jour pour régurgiter ça ici. C’est pour ça qu’il lui arrive souvent d’employer des termes techniques à contre-sens.

Un jour je l’ai contredit au milieu d’un topic. Il a été tellement vexé qu’il s’est mis à répondre à chaque post depuis le début, en traitant du sujet dont j’avais parlé, de manière à montrer qu’il le connaissait parfaitement bien (style culture wikipédia). Toutes les heures je regardais le forum pour voir l’évolution de son délire verbale, sans y répondre. Les posts se modifiaient sans cesse, jusqu’à ce que ma remarque initiale soit noyée dans l’océan de son « expertise ». Il a bien dus passer 4 HEURES à trafiquer les posts. A ce stade c’est de la névrose ..

D'ailleurs je remarque que depuis la réponse de fte, l’orc a multiplié les réponses un peu partout dans le topic. Il y a comme un schéma récurrent ..

avatar C1rc3@0rc | 

@IceWizard

Ah, tu as un sentiment de percussion profond et generalisé, tu vois des shemas récurrents, des complots contre toi, des manipulations de la realité ?

Hormis ton discours conspirationniste et mégalomane, et contrairement a certains qui commentent sans lire les articles ni les commentaires qu'ils parasitent, lorsque je commente un article ou repond a un commentaire, je prend la peine de lire les reponses et continuer ce qui est un debat, tu sais un echange de point de vue argumentés. En relisant ce que j'ai ecrit je peux voir des fautes, que je corrige. C'est 99% de ce qui me fait editer une reponse. Le 1% restant c'est lorsque un intervenant, lors d'une reponse constructive me fait remarquer une erreur ou que je me rend compte qu'une formulation n'est pas claire.

Mais bon, tu es un etre magnifique et persecuté, cela meme et surtout par ceux qui ignorent tout de toi, a part les fadaises que tu peux ecrire assis sur tes dogmes, et tu ne tolères nulle contradiction. Tu parles de nevroses, mais je suis par certain que ça en soit chez toi.

avatar IceWizard | 

@LeTroll
T’as déjà oublié ce moment d’anthologie ? C’est triste de perdre la mémoire. Rappelons un peu le contexte, c’est pour ton bien.. Dans un de tes grands délires tu nous a sortis au milieu d’un topic que le terme « ordinateur individuel » avait été inventé lors de la sortie du Mac et de l’Atari ST. Quand je t’ai fait remarquer que ce terme étais plus ancien, t’as pété les plombs.

Et hop .. les premiers posts du topic ont vus fleurir des pseudos-réponses de ta part, dérivant sur l’histoire de l’informatique et démontrant que jamais l’Apple II n’avait été qualifié d’ordinateur individuel, que non non, le TRS 80 n’avait jamais été appelé ordinateur individuel, que non non le premier PC n’étais pas un Personnel Computer. Le clou du spectacle c’est quand j’ai posté à propos des ordinateurs de poche programmable en Basic (Sharp PC 1500 et Pc 1211) et que tu a expliqué que ce n’étais pas des ordinateurs, et que de toutes manière les profs, les étudiants et les vendeurs les appelaient « machines de turing ». Tous les lecteurs de ce forum ayant possédés l’une de ces machines ont dus bien rigoler en lisant tes délires.

C’est quand même fort de vouloir re-écrire l’histoire de l’informatique, alors que n’importe qui peut vérifier en 1 mn sur internet l’origine d’un terme aussi commun que « ordinateur individuel ».

En fait le véritable clou du spectacle c’est quand tu as été incapable d’expliquer pourquoi la première revue informatique française, s’appelait l’Ordinateur Individuel prés de 10 ans avant l’apparition de ce terme selon toi.. Joli déni ..

Quand a tes éditions de posts, le plus rigolo c’est quand tu as parlé du philosophe Edgar Morin pour justifier tes divagations sur la terminologie informatique. Très très fort.. Tu as eu raison de l’effacer à toute vitesse ! Manifestement ces ouvrages sur la complexité des interactions dans la nature, la biologie et les processus d’informations te passent largement au dessus de la tête.

avatar C1rc3@0rc | 

Ah oui, donc en fait tu as vraiment un probleme de confusion entre la realité et de que tu imagines.

Donc il n'est pas étonnant que tu t'agaces de mes propos ou de tous ceux qui sont un peu argumentés et te contredisent.

Donc arrete de lire ce que j'ecris, je t'assure que je n'ai aucun interet pour toi, j'ignore totalement qui tu es et que tu ne presentes pas le moindre interet pour moi.

avatar IceWizard | 

Quelques lignes pour comprendre l’orc, son fonctionnement, ses délires, sa mythomanie, ses illusions de grandeur :

https://fr.wikipedia.org/wiki/Trouble_de_la_personnalité_narcissique

Quelques passages :

"Le trouble de la personnalité narcissique est un trouble de la personnalité1 dans lequel un individu se manifeste par le besoin excessif d'être admiré, et par un manque d'empathie. Cette condition affecte 1 % de la population2.

Les symptômes apparaissent au début de l'âge adulte. Le sujet narcissique recherche une gratification en lui-même, et s'attache peu au jugement des autres, est très focalisé sur ses problèmes d'adéquation personnelle, de puissance et de prestige2. Le trouble de la personnalité narcissique est étroitement lié à l'égocentrisme.
« 

" Le trouble de la personnalité narcissique est relégué dans une catégorie intitulée « Autres troubles de la personnalité spécifiques », qui inclut également les troubles excentrique, « haltlose », immature, passif-agressif, et psychoneurotique. »

"Le patient présente au moins cinq des symptômes suivants :

le sujet a un sens grandiose de sa propre importance (par exemple, surestime ses réalisations et ses capacités, s'attend à être reconnu comme supérieur sans avoir accompli quelque chose en rapport) ;
est absorbé par des fantasmes de succès illimité, de pouvoir, de splendeur, de beauté, de perfection, ou d'amour idéal ;
pense être « spécial » et unique et ne pouvoir être admis ou compris que par des institutions ou des gens spéciaux et de haut niveau ;
montre un besoin excessif d'être admiré ;
pense que tout lui est dû : s'attend sans raison à bénéficier d'un traitement particulièrement favorable et à ce que ses désirs soient automatiquement satisfaits ;
exploite l'autre dans les relations interpersonnelles : utilise autrui pour parvenir à ses propres fins (mensonges, chantages, violence verbale, etc.) ;
manque d'empathie : n'est pas disposé à reconnaître ou à partager les sentiments et les besoins d'autrui ;
envie souvent les autres, ou croit que les autres l'envient ;
fait preuve d'attitudes et de comportements arrogants et hautains. »

avatar fte | 

@C1rc3@0rc

- Parler de revolution pour Swift est vraiment très exagéré.

Parler de révolution est très exagéré pour n’importe quel langage vieux de moins de 20 ans.

- Le langage n'amene aucun nouveau concept ou paradigme

Ce n’était pas l’objectif.
Maiiiis, programmation orientée protocoles, la mise en avant est assez originale. Pas nécessairement pertinente, mais originale.

- il surfe sur la mode très commune de mélanger plusieurs paradigmes

Ce n’est pas une mode. Ou alors une mode vieille d’un demi-siècle. Au moins.

- son integration des divers paradigmes est encore tres chaotique et moins elegante que d'autres langages

Et moins chaotique et plus élégante que d’autres autres langages.

- ça ressemble plus a du bricolage pour l'instant qu'a un langage bien pensée et unifié des le depart

Les langages “unifiés” dira-t-on se comptent sur les doigts d’une main, peut-être deux, et ils ne le restent que s’ils ne quittent pas le domaine académique. Les ingénieurs ont de vrais problèmes à résoudre.

- son champs d'applications est aussi large que flou

C’est une qualité indispensable aux objectifs de ce langage.

- il n'a pas (encore) les moyens de ses ambitions.

Hum. Discutable. Je dirais qu’il a les moyens mais pas la maturité.

- il a beaucoup de concurrents

C’est le cas de tous les langages.

- il reste un langage sequentiel alors que la multiprogrammation est LE besoin actuel

La programmation concurrente ne se résoud pas par le langage à moins de décider d’un modèle unique, donc inapproprié dans la majorité des cas sauf les cas gérés idéalement par ce modèle. La solution est dans les (au pluriel) librairies.

- son approche fonctionnelle est tres batarde et ne permet pas d'en avoir tous les avantages.

Defini « tous » les avantages.

D’ailleurs, ce n’est pas un langage fonctionnel, et il ne prétend pas l’être. Nulle définition de Monad dans la librairie standard, pour commencer.

- il se pose en face d'Objective-C (existant quasi que sur OS d'Apple) et espere se poser ensuite en face du venerable C++ (bon courage) et de Java (bon courage)

Oui pour le premier, les deux autres sortent de tes phantasmes uniquement.

- Il faut savoir aussi que la majorité des langages sont opensources. Ceux qui ont le mieux reussi sont des creations d'universitaires soutenu par des institutions.

Faux. La majorité des langages sont des DSL closed source.

Les langages académiques ont eu du succès en tant que source d’inspiration, mais la majorité des langages industriels ne sont pas issus de l’académie.

- Le playgroud est interressant, mais ce n'est pas une nouveauté.

Et alors ? Ce n’est bien que si c’est nouveau ? Mal barré en développement, la plupart des concepts ont au moins 50 ans.

- En terme educatif il reprend beaucoup de trucs de smalltalk sans en avoir les qualités et la coherence.

Smalltalk est l’exemple typique de langage mythique qui n’a jamais réussi à percer.

- Bref, une revolution, non. Une innovation pour Apple, oui, le langage tend a se repandre hors Apple, ce qui va faire que le langage de developpement utilisé pour MacOS et iOS existera vraiment hors Apple.

Peut-être. Ou pas. C’est sans grand intérêt de toute manière.

- Apres, Clascal (Object Pascal), Hypercard et Objective-C, voire DyLan etaient bien plus des revolutions que ne l'est Swift.

HyperCard était révolutionnaire je suppose. Il n’a pas survécu aux outrages du temps.

Le reste, pas du tout. Objective-C est la seule réussite industrielle pratique de Smalltalk, mais il n’est(ait) certes pas révolutionnaire. Merci de laisser VisualAge où il est.

avatar C1rc3@0rc | 

@fte

«Parler de révolution est très exagéré pour n’importe quel langage vieux de moins de 20 ans.»

Je ne comprends pas le sens de cette phrase.
Tu essayes de dire qu'il faut attendre 20 ans pour déterminer si un langage apporte un ou plusieurs éléments novateurs?

«Les langages “unifiés” dira-t-on se comptent sur les doigts d’une main, peut-être deux, et ils ne le restent que s’ils ne quittent pas le domaine académique. Les ingénieurs ont de vrais problèmes à résoudre.»

Ah pour toi ADA est un langage academique que n'utilisent pas les ingenieurs?

«- il se pose en face d'Objective-C (existant quasi que sur OS d'Apple) et espere se poser ensuite en face du venerable C++ (bon courage) et de Java (bon courage)

Oui pour le premier, les deux autres sortent de tes phantasmes uniquement.»

Ben en terme de fantasmes commences donc par lire l'article et les artiles liés. Swift, langage universel permettant de faire de l'applicatif, du script, du serveur et de la programmation systeme, c'est pas moi qui l'invente, hein.
Java c'est le principal langage serveur et C++ le principal langage systeme. Conclusion?

«La programmation concurrente ne se résoud pas par le langage à moins de décider d’un modèle unique, donc inapproprié dans la majorité des cas sauf les cas gérés idéalement par ce modèle. La solution est dans les (au pluriel) librairies.»

Ben non, une librairie est d'abord limitée a un systeme et a un modele specifique. Ça n'a rien d'universel et c'est souvent proprietaire. Prends l'exemple de la domination de CUDA.

un langage est une abstraction qui est operante quelque soit le systeme.
Ensuite, parlons des coroutines, de la programmation vectorielle, des agents, des objets asynchrones, des callback (qu'on bricole a partir de sous ensemble fonctionnel minimaliste dans les langages sequentiels avec tout ce que ça implique comme erreurs)...
Sais tu qu'il y a un autre langage qui se nomme Swift aussi et qui lui est parallele?
Pourquoi la concurrence est un des fondements de ADA?
Pourquoi les langages de simulations d'evenements sont paralleles?
Pourquoi il y a moins d'erreurs a additionner des matrices natives qu'a passer par des librairies specifiques pour declarer des types en utilisant souvent un preprocesseur?
Pourquoi la plupart des langages en HPC sont paralleles?

«Smalltalk est l’exemple typique de langage mythique qui n’a jamais réussi à percer.»
Ah oui quand meme...
Et tu vas certainement dire la meme chose de Simula, Lisp, Object Pascal, Prolog, ADA...?

«HyperCard était révolutionnaire je suppose. Il n’a pas survécu aux outrages du temps.»
Il a ete mis a mort par Apple, parce que!
Le temps n'y est pour rien, le fait qu'il soit proprietaire par contre a signe sa mort.

«Les langages académiques ont eu du succès en tant que source d’inspiration, mais la majorité des langages industriels ne sont pas issus de l’académie.»
Ah bon?
[John McCarthy, Niklaus Wirth, Alain Colmerauer, Gérard Huet, Guy Cousineau,...] etait un ingenieur bossant dans une boite privée?

Apres, oui, FORTRAN, ADA, Eiffel, et C sont des langages d'ingenieurs produit dans un cadre non academique (encore que FORTRAN tres intriqué au monde academique ). Quant a C++ bien qu'il ait ete developpé au Bell Labs, Stroustrup a suivi un process universitaire typique et une standarisation tres tot. D'ailleurs il a commencé le developpement lors de sa these de doctorat.

«Objective-C est la seule réussite industrielle pratique de Smalltalk»
Heuuuu la, Objective-C integre des modeles de smalltalk mais il n'est pas smalltalk. Smalltalk c'est un paradigme, un langage et un environnement (objets, fenetre, bureau,agents...)
On peut dire que Java, Ruby heritent autant qu'Objective-C de Smalltalk, de meme que MacOS...

«
- Le playgroud est interressant, mais ce n'est pas une nouveauté.

Et alors ? Ce n’est bien que si c’est nouveau ? Mal barré en développement, la plupart des concepts ont au moins 50 ans.»

Mon propos est de dire que Swift n'est pas revolutionnaire.
Apple fait un gros marketing sur Swift, c'est entendu.
Mais Swift ne va pas s'imposer parce qu'il est novateur, amene une unification de modeles, facilite l'apprentissage, etc.
Swift est un langage qui est dans l'air du temps, se base sur la mode actuel de beaucoup d'autres candidats tout en etant moins abouti, moins unifié, moins cohérent.
Il n'a rien de révolutionnaire, c'est mon propos.

avatar fte | 

@C1rc3@0rc

- Il n'a rien de révolutionnaire, c'est mon propos.

Alors, si c’est ton propos, pourquoi l’enrobes-tu d’autant de banalités et de mots compliqués utilisés incorrectement ? Il suffit de trois phrases pour le dire et l’expliquer.

Ce que je ne comprends pas, c’est pourquoi tu le dis, et avec tant de mots. Il n’est pas révolutionnaire. Certes. Et alors ? Il n’y en a pas tous les jours des révolutions dans mon métier. Déjà s’il y en avait toutes les décennies je serais content, mais même pas.

avatar C1rc3@0rc | 

@fte

Tu considères mon argumentaire comme empli de mots compliqués? Lesquels:
- paradigme
- concept
- langage séquentiel
- multiprogrammation
- approche fonctionnelle

En quoi ces mots sont ils employés incorrectement?

«Ce que je ne comprends pas, c’est pourquoi tu le dis, et avec tant de mots. Il n’est pas révolutionnaire. Certes. Et alors ?»

Je répondais, de manière argumentée, au commentaire de @stefhan, qui, il le dit, pour un neophyte donne le sentiment de vivre une révolution... alors qu'il ne s'agit que d'une construction purement marketing.
Et sur ce point nous sommes d'accord, tu en conviens, l'impression révolutionnaire que donne Swift est tout a fait fausse et artificielle.

Mon argumentaire tente de simplement démonter les éléments du plan marketing qui donne cette impression de "révolution".

Pourquoi voudrais tu que je réponde de manière laconique et qui serait alors probablement péremptoire et n'aurait donc aucun interet.
Je n'impose pas un point de vue, un jugement arbitraire ou une certitude, je donne a @stefhan un argumentaire et des informations qui lui offre un eclairage autre que la propagande marketing afin qu'il se fasse une opinion. Il peut ne pas etre d'accord avec ce que j'ecris, il peut commenter, questionner, enrichir le debat,... l'important c'est qu'il y ait debat.
Toi meme, tu exposes tes points de vue dans la reponse que tu fais a mon commentaire (fait a @stefhan). Je ne suis pas d'accord avec plusieurs de tes affirmations, mais c'est ta contribution au debat, ça donne a ceux qui nous lisent des informations et cela contribu a permettre de developper une opinion qui n'est plus une programmation du marketing, mais une vraie opinion.

En quoi cela te gene?
Tu preferes les interventions des trolls et fanatiques qui ne lisent ni l'article ni les commentaires et qui viennent juste la pour exprimer leur ego, leur humeur, leur agressivité, leur besoin d'en découdre, voire leur délire ?

avatar fte | 

@C1rc3@0rc

"En quoi cela te gene?"

C’est anti-pédagogique, pour commencer. Tu parles de tout et de n’importe quoi et l’argument que ce n’est pas un langage révolutionnaire est perdu, noyé dans un charabia décousu.

C’est constellé d’imprécisions voire d’erreurs, ensuite. Ça contribue encore plus à noyer l’argument, qui était déjà très imbibé.

J’ai tendance à lire jusqu’au bout, d’une part parce que c’est dans ma nature et d’autre part parce que je lis vite. Mais j’ai vraiment l’impression d’être baladé d’un sujet à un autre et que l’auteur n’en a rien à cirer du temps de ses lecteurs.

Voilà ce qui me dérange.

avatar C1rc3@0rc | 

@fte

Anti-pedagogique?
Mais je me prends pas pour un pédagogue ni un redresseur de tort ou tout autre forme d'enseignant ici. Je donne pas de cours, ni de leçon, je deroule un argumentaire en reponse a certains points dans un article ou face a un commentaire.

«Tu parles de tout et de n’importe quoi et l’argument que ce n’est pas un langage révolutionnaire est perdu, noyé dans un charabia décousu.»

La premiere phrase de ma reponse au commentaire de stefhan c'est
Parler de revolution pour Swift est vraiment très exagéré.

Il me semble que le sujet est posé de maniere on ne peut plus explicite.
Vient ensuite un argumentaire point a point qui reprend les principaux sujets qui pourraient faire qu'un langage sorte du lot avant meme d'etre revolutionnaire, et que Swift ne realise pas ou les points mis en avant par le marketing et qui ne tiennent pas (argument d'ailleurs que tu ne contestes pas sur le fond).

«Mais j’ai vraiment l’impression d’être baladé d’un sujet à un autre et que l’auteur n’en a rien à cirer du temps de ses lecteurs.»

Ben deja ma reponse initiale ne s'adressait pas a toi. Ensuite, tu prends point a point mes arguments, ce a quoi je réponds également point a point. Donc soit tu sautes sur un train en marche, soit tu donnes la direction, je vois pas ou je te ballade?

avatar fte | 

@C1rc3@0rc

"Ah pour toi ADA est un langage academique que n'utilisent pas les ingenieurs? "

Je ne suis pas certain de comprendre cette question. Je vais y répondre sur la base de ce que je comprends.

Tu sembles donc prétendre, suite à mon commentaire sur les langages académiques, qu’Ada est un langage académique. Premier point, c’est Ada, d’après Ada Lovelace, et non ADA. Deuxième point, Ada est un langage développé par des ingénieurs d’Honeywell pour l’armée américaine. On est très loin d’un langage académique. Troisième point, Ada a traversé plusieurs révisions majeures ayant transformé radicalement le langage, encore par des équipes d’ingénieurs et non d’académiciens.

Tu sembles porter ce langage haut dans ton coeur, mais tu sembles aussi en savoir très peu sur son histoire.

Enfin bref. Je ne vais pas passer mes vacances à analyser chacun de tes commentaires et jouer au correcteur.

avatar C1rc3@0rc | 

@FTE

tu as un probleme avec le contexte, même quand ton intervention est dans ce contexte. Pour comprendre ce que tu cites, il faudrait que tu relises ce que tu as écrit:

«
@fte:
«Les langages “unifiés” dira-t-on se comptent sur les doigts d’une main, peut-être deux, et ils ne le restent que s’ils ne quittent pas le domaine académique. Les ingénieurs ont de vrais problèmes à résoudre.»

C1rc3@0rc:«Ah pour toi ADA est un langage academique que n'utilisent pas les ingenieurs? »

Pourquoi ai-je pris Ada comme contre-argument a ton affirmation (seuls les langages academiques sont unifiés et les rares qui le sont restent unifiés s'ils ne servent qu'a des chercheurs n'ayant pas de vrais problemes a resoudre).

Parce que Ada un langage unifié avant meme sa conception puisqu'il est issu d'un appel d'offre de l'armée US qu'a remporté l'equipe de Jean Ichbia de Bull. Ce langage totalement unifié et formalisé a, malgré cette unification et definition, precedant sa realisation, toujours ete employé pour "resoudre des vrais problemes d'ingenieurs". C'est toujours un des principaux langage utilisé dans l'industrie.

Et cette unification persiste a travers les evolutions du langage jusqu'a sa plus recente, le processus de certification etant obligatoire. De plus les evolutions se sont faites sans remettre en question les fonctionnalités precedantes ni faire doublons ni alterer la coherence.

L'existence meme d'Ada met donc a terre completement ton affirmation.

Je te laisse decouvrir le reste de l'histoire sur Wikipedia, mais voila tout de meme un extrait de cet article qui illustre bien le fond de mon propos sur Swift et la problematique de la programmation avec la plethore de langages inutile et contre productif:

«In the 1970s, the US Department of Defense (DoD) was concerned by the number of different programming languages being used for its embedded computer system projects, many of which were obsolete or hardware-dependent, and none of which supported safe modular programming. In 1975, a working group, the High Order Language Working Group (HOLWG), was formed with the intent to reduce this number by finding or creating a programming language generally suitable for the department's and the UK Ministry of Defence requirements. After many iterations beginning with an original Straw man proposal the eventual programming language was named Ada. The total number of high-level programming languages in use for such projects fell from over 450 in 1983 to 37 by 1996.»<\i>

avatar fte | 

@C1rc3@0rc

"tu as un probleme"

Il ne t’es pas venu à l’esprit que lorsque le message est mal compris, c’est peut-être pas parce que le récipiendaire a un problème, mais parce que le message ou l’émetteur a un problème ?

Je parlais d’anti-pédagogie, à quoi tu répondais ne pas chercher à être pédagogue ou enseignant, esquivant adroitement la critique que je faisais.

Je ne suis pas critique pour le plaisir de l’être. Ça ne m’amuse pas tant que ça. Je me dis juste que peut-être tu pourrais entendre ce que je dis et rendre tes contributions plus digestes. Je comprends bien certains de tes arguments, je le disais il y a quelques semaines d’ailleurs et je me suis fait tomber dessus par certains réguliers d’ici en conséquence (épisode amusant). Mais la forme, et parfois le fond, irrite.

La pédagogie ne se limite pas aux enseignants. Elle est utile dès lors qu’un émetteur souhaite transmettre une information, sous une forme ou une autre, à un ou plusieurs destinataires. Il est nécessaire de travailler avec un langage commun aux deux parties, qu’il soit de mots ou de forme ou conventions, pour que le message soit porteur de l’information désirée et non interprété complètement de travers.

Je me trompe peut-être, et si c’est le cas soit c’est peine perdue, soit j’ai échoué assez ironiquement à communiquer mon message, mais je pense que tu as compris ma critique et choisi de l’esquiver volontairement. Peut-être parce que tu t’en fiches, que tu n’as aucune intention de changer ta manière, peut-être parce que tu te demandes pour qui je me prends (je me le demande moi-même de temps en temps), parce que c’est un jeu que tu aimes jouer ici, peut-être parce que tu détestes et n’acceptes pas la critique, je n’en sais rien et ça m’est égal.

Je suppose que ceci clos ce sujet.

avatar jeanCloud | 

du coup quand si on me dit que je programme comme un pied je dois prendre cela comme un compliment !? ?

avatar Nico S | 

"L’autre succès de Swift, c’est du côté des serveurs qu’il faut le chercher."

Oui... ben, ça fait un bout de temps que je le cherche et à part des petits blogs ou des todo apps sorties de tutoriels, je n'ai jamais rien vu de conséquent en Swift.

Java/C#/PHP/Ruby... etc ont encore de beaux jours devant eux. Vu qu'il parle de domination mondiale, si je devais prendre les paris, je mettrais mes jetons sur C# : plus moderne, un tooling bien plus mature et une pénétration gigantesque du marché.

avatar Nicolas Furno | 

@Nico S

La plupart des exemples ne seront pas publics. Ce sont des modules conçus pour accompagner une app iOS, par exemple pour intégrer une base de données.

Neanmoins, c’est vrai qu’il n’y a pas encore vraiment de gros projets en Swift sur le serveur. À mon avis, la stabilisation du code source va énormément aider de ce côté.

avatar Nico S | 

@nicolasf

Oui, pour des services REST pour une app iOS mais on reste dans l'écosystème Apple en quelque sorte. Mais même là, je n'ai pas connaissance d'app conséquente utilisant Vapor ou Kitura comme backend.

La stabilisation de l'ABI permettra probablement qu'il y ait plus de librairies pour Swift sur le serveur mais pour le moment, on est très, très loin derrière Java ou C#.

avatar RedMak | 

@Nico S

Oui t’a raison sur le court terme, moi je parierais sur java :)
Mais le fait que Apple pousse Swift en se sens est une « petite » garantie que ca peut le faire.
Imagine qu’Apple n’ete pas derrière Swift, il aura peut etre un succès mais pas autant qu’il a maintenant c’est sure.

Moi j’ai commencé à developper en C++(QT + Ogre 3D) j’adore ce langage, puis j’ai commencé objC (5 ans maintenant), après vient swift (j’ai commencé avec la v2) que j’aime aussi mais pas autant que objC :)

avatar C1rc3@0rc | 

@RedMak

Je pense pas, IBM est quand meme bien engagé sur Swift.
La question est de savoir sur serveur si Swift va faire petard mouillé comme NodeJS, ou va se developper a moyen terme.

Pour l'instant il y a 2 outils majeurs sur serveur:
- Java
- les framework (Python, Ruby, PHP)

Java fait tout (applications metiers et infrastructures) et les framework sont plus sur de l'application de commerce.

Le probleme c'est que y a une demande d'avoir un langage unique pour programmer le serveur et le client. C'est pas forcement une bonne idee mais c'est une demande importante.

Avec NodeJS il y a une tentative de tout programmer en Javascript. Le choix de ce langage est tres discutable au niveau client et au niveau serveur ses manquements en terme de securité sont criants. Apres entre Javascript et PHP on est dans le pire de toute façon.

Je doute que Java revienne du coté client mais je doute aussi de son remplacement cote serveur vu la masse de gros systemes qui tournent avec.
Swift va plutot se positionner sur l'applicatif en face de PHP, NodeJS et les framework.

Bon apres, il y en a qui developpent sur serveur en Lisp.

avatar pat3 | 

@C1rc3@0rc

"Apres entre Javascript et PHP on est dans le pire de toute façon."

Tu veux dire par là que les développeurs Web ne sont pas des développeurs ? Que Facebook et WordPress, et les CMS en général, c'est de la merde en termes de développement ?

Pages

CONNEXION UTILISATEUR