Quatre ans de développement pour Swift

Mickaël Bazoge |

Swift a été la surprise du chef durant le keynote de la WWDC. Personne n'avait vu venir cette annonce : un nouveau langage de programmation, présenté comme un « Objective-C sans le C » et surtout, comme le sésame pour développer des applications destinées à iOS et OS X (lire : Swift, un langage conçu par Apple pour Apple). On a à peine effleuré la surface de ce langage, et déjà on en sent tout le potentiel — les développeurs intéressés pourront se jeter sur le livre numérique gratuit mis à disposition par Apple, ainsi bien entendu que sur la beta de Xcode 6. Un des premiers développements a d'ailleurs été… un clone de Flappy Bird dont on trouvera le code source sur GitHub.

Swift n'est cependant pas sorti du chapeau magique de Craig Federighi. Chris Lattner, en poste chez Apple depuis 2005 où il a occupé plusieurs postes, supervise désormais le département Developer Tools, en charge de Xcode. Il est le créateur de l'infrastructure du compilateur LLVM.

Sur son blog, il donne quelques précisions sur Swift, dont il a commencé le développement en juillet 2010. Lattner a implémenté la structure basique du langage. À l'époque, bien peu de gens chez Apple avaient eu vent de l'existence de ce projet; cela a changé début 2011, où une équipe de plus en plus importante est venue renforcer les effectifs. En juillet dernier, le développement de Swift est devenu un sujet majeur pour le groupe Apple Developer Tools.

Chris Lattner

Swift s'est inspiré de plusieurs langages dont l'Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, et bien d'autres encore. Lattner explique que le travail de dogfooding (période de test en interne) a été particulièrement important afin de livrer un produit aussi propre que possible. Les équipes de Xcode ainsi que celle de LLDB (à l'origine du débuggueur du même nom) sont également saluées pour leur « travail phénoménal ». Il espère rendre la programmation plus abordable et plus « fun ».


Tags
avatar Le gros dave | 

Excellent !

avatar Bardyl | 

Flappy Bird, pas Angry Bird non ? ;-)

avatar Mickaël Bazoge | 
Oui effectivement ;)
avatar CBi | 

Deuxième post et déjà il y a un lecteur de MacG pour échanger des noms d'oiseau avec la rédaction...

avatar zarghol | 

Pas de doute avec ce langage ça va être fun ! :D déjà testé et hâte de développer des applications entières avec ! :)

avatar melvyn71 | 

Pour un débutant en prog (amateur) il peut être intéresser de coder dans langage ? (Sachant que je n'ai pas fait de C/C

avatar oomu | 

Il est toujours intéressant de programmer

Swift a une syntaxe moderne et la quasi-totalité des fonctionnalitées attendues dans un langage actuel. C'est donc très formateur.

Et Xcode playground vous aidera à apprendre vite. C'est un outil précieux. On peut déjà l'utiliser pour se familiariser

Xcode 6 est encore bêta, vivement qu'il soit prêt.

-
Vous devriez apprendre C, c'est la fondation de pratiquement toute l'informatique moderne. Il est aisé de sauter ensuite sur n'importe quel autre langage similaire.

-
Swift, objective c, JavaScript, Java, ruby, c#, c++ etc sont des langages objets : apprenez les concepts de la programmation objet, ça vous rendra compréhensible tous ces langages d'un coup.

-
Les langages reposent tous sur des concepts de programmation (fonctions, objets, boucles, closures, variables, allocation auto ou non, compilé, pseudo-compilé, interpreté, fonctionnels, etc)
Si vous apprenez les concepts de programmation, le reste n'est que détail de syntaxe.

--
Le plus dur n'est pas le langage mais les "frameworks" : les collections de classes et fonctions prêtes à l'emploi qui forment une plateforme de programmation. C'est ce que sont java entreprise ou Cocoa ou .net. Il faut retenir beaucoup de choses pour être productif ou bien connaître sa documentation.

Cocoa d'Apple est particulièrement marié à Xcode. Xcode n'est pas qu'un éditeur de texte: il est l'outil qui met en scène les concepts derrière Cocoa.

--
Resteront quelques langages un peu exotiques comme Lisp ou Haskell, mais y a pas d'urgence... Et les grands anciens tels Fortran (indéboulonnable)

-
La syntaxe dite C est très très très très courante. Même PHP, JavaScript ou Java ont leur syntaxe inspirée de C
Et c'est pas un accident si on retrouve la lettre C dans c#, objective-c ou c++

avatar Norandy | 

@oomu :
Merci beaucoup pour ces précieux conseils. J'avais commencé le C mais avait arrêté après les pointeurs (siteduzero). Je vais m'y remettre de suite !

avatar oomu | 

Les pointeurs, c'est une gymnastique qui peut paraitre abscons au début et beaucoup d'étudiants décrochent à ce moment.

Il n'y a pas à y penser dans des langages comme Swift, Ruby, Python, Javascript, C#, Java (langage dit de "haut niveau") etc. On pourrait donc se dire "RAF ! je file dans java programmer de l'outil d'analyse de finance pour une banque et devenir riiiiiche hahahaha"

MAIS les pointeurs SONT UN des principaux FONDEMENT de comment MARCHE un ORDINATEUR (adresse mémoire -> valeur etc on se frotte à la réalité de la MACHINE). C'est un enseignement Précieux qui éclaire beaucoup et permet de bien appréhender par la suite les problèmes de performance ou limites des langages dit de "haut niveau".

Maitriser les pointeurs c'est maitriser nombre de structures de données sophistiquées et leurs implications.

Ne pas hésiter à lire des articles purement théorique sur les concepts, plutôt que de se fracasser la tête sur un bouquin de pure apprentissage de la syntaxe.

La Syntaxe, c'est pas le plus dur, c'est le "mais on fait quoi avec ?!" qui est le plus long à apprendre.

-
C'est typique avec la programmation dite "objet" aussi.

Quand on enseigne froidement la syntaxe des classes, héritages, méthodes, constructeurs en C++ ou Java ou Objective C (et maintenant Swift), tout étudiant(e) normalement constitué(e) et sain(e) dit "mais on en a foutre pourquoi ? O_O" .

Mais un bon livre théorique explique les gains derrière : réutilisabilité du code, clarté entre l'implémentation et la déclaration, mise en oeuvre d'environnement de programmation reposant entièrement sur ces concepts (Cocoa, .Net etc) et là.. on voit que c'est franchement bien utile.

avatar adamsvibe | 

@oomu

As tu des bouquins théoriques à suggérer ?

avatar lmouillart | 

[supprimé]

avatar adamsvibe | 

@lmouillart
Merci :)

avatar John Maynard Keynes | 

@lmouillart

Les trois ouvrages sont effectivement des bibles, mais :

- Placer le K&R dans les ouvrages théorique offrant de bonnes fondations pour débuter me semble assez discutable.
- Le TAOCP est certe un chef d'oeuvre mais comme introduction à l'algorithmique il me semble un peu rude.
- De même pour le OOAD.

Ce un pb auquel je suis régulièrement confronté quand on me demande des conseils de lecture, j'ai visiblement comme toi et bien d'autres un "panthéon" d'auteurs et d'ouvrages qui sont incontestablement des référence et qui ont jeu un profond impact sur moi, mais qui en terme de capacité à être des ouvrages de débutants restent assez rudes.

Même si je conseil toujours le Structure and Interpretation of Computer Programs aux têtes bien faite pour créer des fondations théoriques solides :-)

Les ouvrages, ayant à la fois une consistance théoriques, ne donnant pas des recettes de cuisine, offrant un réel travail de pédagogie construit sur peu de pré-requis ... restent assez rares.

Et il est toujours plus facile d'orienter un jeune homme ayant déjà des bases vers les ouvrages pouvant nourrir sa progression ou recarder certains de ses manques, que donner des conseils aux impétrants.

D'autant que la bibliothèque de l'honnête homme dans le secteur est assez vaste et qu'en fait il faut avoir digéré pas mal de connaissances avant d'arriver à un début de prémisse de maitrise.

Bref, il doit y avoir mieux à conseiller, qui s'y risque ?

avatar CKJBeOS | 

les pointeurs c'est pas forcement compliqué !
il faut des métaphores pour comprendre !

imaginez la RAM (mémoire vive de l'ordianteur) comme un village, chaque bloc mémoire étant une maison, certains blocs ensemble forme des résidences ou des maisons plus grandes, on peut donc y déposer une information plus ou moins grande (1 octets, 2,4 ou plus une chaine de caractère etc...)
maintenant le pointeur c'est l'adresse postale de ces maisons ;)
ça permet de "pointer" vers ce qui est contenu dedans !
et c'est pour cela que pour une variable type int, short, char etc... par exemple on peut en obtenir son adresse (son pointeur) avec le & en fait la variable c'est la maison, le pointeur c'est son adresse et du coup vous comprenez par la même occasion que votre variable est dans la mémoire vive a une adresse précise ;)
bon j'ai sauté les étapes de mémoires user et kernel etc... en vérité c'est plus compliqué mais abordé ainsi ça reste vrai c'est le principe qui est vrai et qui vous permet de comprendre bien plus après.

avatar adamsvibe | 

@Norandy

Les pointeurs , il faut juste se dire que c'est un type de variable qui aime juste les adresses :)

Prennez votre temps, testez tranquillement : ça va être limpide ;)

On est tous tombe sur cette difficulté :)

avatar CKJBeOS | 

merci @oomu de conseiller quand même le C, bon nombre de développeur passe tout de suite a du langage "évolué" ou tout est édulcoré, mais du coup ne cerne pas l'implication d'une bonne gestion des ressources et d'une écriture rigoureuse du code !

tres bien !

Pour ma part je defend que la base est tres tres importante et indissociable pour savoir correctement programmer, les principe même du fonctionnement d'un processeur sont aussi chose importante -> binaire opération logique etc... (l'ASM est parfait pour cela mais bon n’allons pas jusque la)

les langages ne sont la que pour traduire les concepts, mais pour réaliser de bon concept il faut connaitre et maitriser l'environnement qui s'y rapporte ! (bon c'est mon point de vue mais je pense pas trop me planter, 27 ans de devs + des études de dev, ça vous donne un peu d’expérience quand même ;)

avatar oomu | 

oui.

Faut aller dans l'ordre, ce qui n'est pas SI long que ça (C et les deux trois trucs matériels à comprendre derrière demandent qq semaines de lectures et essais)

mais c'est une fondation pour tout l'enseignement qui suit et pour avoir du recul sur son Kilomètre de code Objective C/OpenGL qui se met subitement à être + lent qu'un escargot dans de la glue : c'est bien joli l'empilage de framework et runtime qui font tout, mais arrive à un moment où la machine fait d'avantage d'abstraction que de boulot visible.

Et s'être frotté à C permet d'imaginer pourquoi. (et ça évite le classique conseil geek du "lol, tu fais pas de l'asm huhuhuhu", totalement désuet et hors propos)

-
Pour le reste, tout pilote d'avion sait un minimum sur la mécanique (moteur, carburant, portance, poids, etc, son AVION) et la physique (moment, aérodynamique, math etc)

Tout bon développeur sait un minimum sur comment les ordinateurs fonctionnent en réalité, la réalité finit toujours par frapper.

avatar John Maynard Keynes | 

@CKJBeOS

merci @oomu de conseiller quand même le C, bon nombre de développeur passe tout de suite a du langage "évolué" ou tout est édulcoré, mais du coup ne cerne pas l'implication d'une bonne gestion des ressources et d'une écriture rigoureuse du code !

Le passage par le vénérable langage C ne me semble pas relever de l'obligation pour atteindre les objectifs fort légitime que tu présentes. Il peut même être contre productif car il enferme parfois les personnes dans les habitudes du C qu'ils se trouvent en suite incapable de dépasser réellement.

Ce que je vois de mieux aujourd'hui en terme de cursus académique c'est l'équilibre suivant proposé aux débutants :
- Un très sérieux cours d'architecture des système posant tous les principe fondamentaux du fonctionnement des ordinateurs et n'hésitant pas à monter en abstraction en montrant que l'informatique est avant tout un art de la sémantique et de la construction.
- Un cours de base de programmation de bas niveau s'effectuant en assembleur sur simulateur avec un processeur virtuel ayant un jeu d'instruction orthogonal et élégant (Type 68k au hasard).
- Un cours de base d'architecture des OS.
- Un cours s'appuyant sur un langage de haut niveau de type Python ou Scheme, selon le profil des étudiants
- Un cours d'algorithmique solide.

Voilà pour les bases.

Cela donne les bonnes fondations pour attaquer la suite et produits des devellopeurs de valeurs capable de faire autre chose que pisser du code et ayant conscience du sous-jacent.

avatar CKJBeOS | 

Je constate avec stupeur, les dégâts que provoque le biberon Java dans les filaires info (la mémoire c'est quoi !! ça sert a rien de la gerer)
La méconnaissance total du fonctionnement de base d'un processeur et de la logique binaire !
Pire certains n'y voient même pas d’intérêt, ben oui pas besoin "ça marche sans" par contre quand on voit le résultat de leur production on comprend vite !!!

Tout ne peut pas être acquis, mais comme dans tout dans ce bas monde, sans de solide base on ne construit rien de valable au dessus !
Comme on disait dans le temps "pisser de la ligne" sans connaitre le contenu du fluide n'apporte rien !

Après l’expérience est de toute façon ce qui fait d'un développeur son savoir, ça aussi c'est valable dans tous les domaines.
Mais avoir les outils ne suffit pas, il faut apprendre méthodiquement comment les maitriser pour pouvoir pleinement les exploiter, et comment il fonctionne et a mon sens un plus pour aller plus loin, voir comprendre certains concept plus finement.

De toute façon on dit des choses très similaires, c'est juste que pour moi le C est un bon support et c'est pas le pire, mais il y en a d'autre !
ce que je défend avant tout c'est que l'on ne s'invente pas développeur ! Mais pas évident toujours de le faire comprendre surtout justement avec des langage trop haut niveau qui ont souvent leurs limites !

avatar John Maynard Keynes | 

@CKJBeOS

Nous défendons effectivement les même besoins de conscience du sous-jacent que ce soit au niveau de la machine ou au niveau des fondement conceptuel.

Mais pour moi ce constat n'est pas le fait de Java ou de tout autre approche à la mode, je constate cela depuis fort longtemps et bien avant l'apparition de ces approches.

Les pisseurs de code inconscient et se contentant d'un : Mais fait pas chier ça marche mon truc sont là depuis bien longtemps et il en est qui ne jurent que par le C.

Là où nous divergeons en fait c'est sur le fait que tu penses que l'emphase se porte sur le premier langage utilisé alors que je crois que c'est bien plus une question d'approche globale et de culture générale des sciences de l'information qui sont les enjeux d'un cursus.

Après je fait parti de ceux qui ne sont pas dans la vénération du K&R et qui ont de grande méfiance vis-à-vis du C qui dans son approche très pragmatique ouvre la porte à bien des pratiques douteuse.

ce que je défend avant tout c'est que l'on ne s'invente pas développeur !

Sur ce point nous sommes bien d'accord, bien de ceux revendiquant l'application sont fort loin d'en être digne :-)

Les première pierre de touche restent pour moi :
- Les capacité d'analyse et de synthèse.
- Les capacités à manipuler des concepts abstrait.
- La culture générale théorique

Toutes choses qui au passage se sentent très fortement à l'écris ou à l'oral.

La frontière se profil déjà assez clairement sur les simple commentaires qui ont accompagné ici l'annonce de Swift ;-)

La programmation est avant toute chose une activité intellectuelle, ce n'est pas du bricolage pour tacherons :-)

avatar CKJBeOS | 

tres bien tout est dit !
apres le fait de ne pas aborder les choses de la même manière c'est ce qui fait la richesse de nos débat et de notre vision et c'est ce qui nous fait avancer ;) (enfin je pense ainsi)

avatar John Maynard Keynes | 

@CKJBeOS

Yep;-)

avatar josselinrsa | 

@John Maynard Keynes :
Puisqu'on parle de langage et de syntaxe, autant aborder l'orthographe !
Messieurs les devs, vous savez bien que votre code déraille si vous zappez un accord, ben la langue française c'est pareil...

Sinon, excellente nouvelle, et excellent apport de vous tous pour faire comprendre l'importance d'un code clair et net.
Et merci pour votre boulot et passion, sans vous nos iBidules seraient bien inertes !

avatar John Maynard Keynes | 

@josselinrsa

Toutes mes excuses pour ma dysorthographie chronique en français :-(

avatar Stardustxxx | 

On ne maitrise pas tous les langages de la même manière. Tu maitrise peut-etre le francais mieux que l'anglais ou le C ou le Python, mais nous c'est le contraire ;)

avatar adamsvibe | 

@oomu

C'est tout à fait cela. Bien résumé

avatar John Maynard Keynes | 

@oomu

Il est toujours intéressant de programmer

J'irais jusqu'à dite que l'honnête homme du XXI° siècle se doit d'avoir des notions de programmation ;-)

avatar Ipadhenry97 | 

Quelqu'un m'explique brièvement ce que c'est ce "Swift" ? Merci

avatar SkeletonGamer | 

@Ipadhenry97 :
C'est un nouveau langage de développement conçu par Apple pour iOS et OS X. C'est le remplacent d'Objective-C.

avatar Ipadhenry97 | 

@SkeletonGamer

Où puis je en apprendre plus sur ce langage ?

Où puis je trouver comment coder dans ce langage par rapport à Objective-C ?

avatar ssssteffff | 

@Ipadhenry97 :
Dans le livre numérique officiel produit par Apple auquel fait référence l'article ;-)

avatar Akarin | 

@Ipadhenry97 :
Il y a pour le moment très peu de ressources disponibles. Personne, à part le guide d'Apple, n'a eu le temps d'écrire un bouquin sur un langage sorti il y a 3 jours. Ça viendra.

Sinon, pour ceux qui codent déjà, une bonne source d'apprentissage est de lire le code de divers projets dispo sur Github. Le nouveau forum dédié à Swift sur le site d'Apple est aussi une très bonne source. En revanche, pour le débutant en programmation, il va falloir attendre un peu. Je dirais qu'un solide bouquin devrait apparaître d'ici la fin de l'année.

avatar oomu | 

Les débutants doivent commencer dans l'ordre et apprendre les concepts:

- c'est quoi la compilation
- que veut dire interprété
- à quoi sert une variable ou une constante
- les fonctions et retour de fonctions
- la programmation objet
- l'allocation mémoire, auto allocation, et ramasse miettes
- entrées et sorties
- boucles et tests conditionnels

Etc

Il ne sert à rien de se jeter sur une syntaxe sans tout cela. Le petit livre d'Apple sur swift brosse sommairement les principes mise en œuvre mais leur importance seront mal perçus par un novice. Il faut apprendre patiemment.

Les concepts et le code:
Prendre un livre sur ce qu'est la programmation et l'expérimenter dans le langage de son choix.
Swift sera un bon langage d'apprentissage, grâce à Xcode 6

avatar iDanny | 

@oomu

Tu rigoles, tout ce que veulent ces djeunes c'est pondre le prochain Flappy Bird et se faire un max de thunes, même s'ils codent comme des porcs :)

Pas le temps de se branler à apprendre l'algo et comment faire une fonction récursive :)

avatar oomu | 

tout ce que veulent VOS jeunes

mais tout vieux est un ancien petit con.

C'est ainsi depuis des millénaires.

"tu rigoles Descartes, tous ce que veulent les jeunes c'est pondre la prochaine trad de la bible et se faire un max de thunes, même s'ils parlent le grec comme des romains décadents"

"tu rigoles, Claude, tous ce que veulent les jeunes c'est pondre la prochaine baliste pour bateau et se faire un max de tunes, pas le temps de se branler à apprendre à naviguer correctement avec les astres"

-
quand à "flappy bird", le nom que prend la lubie et autre mine d'or du jour et sans importance.

De mon temps, on appelait ça "multimédia". Fallait faire du moultimaisdia, prendre le pognon et partir se branler dans les îles.

Etant déjà dans une ile, j'avais pas besoin de faire du moultimaidia.

avatar oomu | 

Comme toujours avec Apple, sur http://Apple.com

Le site de référence pour développer avec Apple est http://developer.apple.com

Tout y est (Xcode, docs, ePub, tutoriels, etc)

Créez un compte développeur gratuit.

avatar Seccotine | 

Je vais être un peu méchant, mais si tu poses cette question dans les commentaires de cet article, et que tu poses ensuite la question de savoir où tu peux avoir la documentation pour apprendre ce langage alors que les deux réponses se trouvent dans les cinq premières lignes de l'article, je pense que tu vas vraiment avoir du mal à apprendre par toi même...

avatar John Maynard Keynes | 

@Seccotine

Comme tu dit : no pain, no gain :-)

Sans esprit d'analyse et de synthèse pas de programmation sérieuse ;-)

Et au vu de nombre de commentaires : pour certains ce n'est vraiment pas gagné :-)

avatar qj | 

Je ne comprends toujours pas l'apport de swift par rapport aux langages existants. Ça fait beaucoup penser à python.
Ça n'aurait pas été plus simple de fournir des bindings python pour les API Apple, et hop, pas besoin de tout réapprendre ?

avatar Ast2001 | 

Je pense que Swift apporte un peu de l'esprit du Pascal à la ligne du C. Une syntaxe plus rigoureuse, plus homogène, au final _relativement_ plus facile à appréhender et donc moins de risque d'erreurs dans les programmes.

avatar oomu | 

"Je ne comprends toujours pas l'apport de swift par rapport aux langages existants. Ça fait beaucoup penser à python."

il reprend l'expressivité de Objective-C (les paramètres nommés par exemple, qui est un des principes forts de cocoa) et une syntaxe moderne dérivée de C comme la quasi totalité des langages dit modernes.

Il ajoute aussi des trucs comme les "optionnels" que Cocoa va massivement utiliser à l'avenir.

Le langage aussi correspond à des optimisations que le runtime objective-C et LLVM peuvent exploiter. Apple l'a fait sur mesure pour ce dont elle dispose.

et surtout, la SYNTAXE est rien, ça s'apprend vite, comme celle de python, lisp, ruby, cobol ou fortran.

Ce qui compte c'est le FRAMEWORK, ici COCOA.

et cocoa c'est ZE gros morceaux à avaler. La syntaxe swift se balade en qq heures, hop.

-
"Ça n'aurait pas été plus simple de fournir des bindings python pour les API Apple, et hop, pas besoin de tout réapprendre ?"

non, ça vous aurait toujours obligé à réapprendre cocoa adapter à la syntaxe python.

Ici Swift ne s'éloigne pas trop de Objective-C (on retrouve tous nos potes NSQuelqueChose dans le même ordre, avec nos amis les Collections, les Dictionnaires non mutables, etc).

Ca aurait aussi obligé aussi Apple à porter Python au runtime Objective-C: au final vous n'aurez pas retrouvé Python 3, mais Apple Python 1.0 sous licence APL. Je pense que plus d'un pythonien aurait de toute façon considéré ça comme un énième bidule à apprendre et en plus ça pique notre nom !

avatar BeePotato | 

@ qj : « Ça n'aurait pas été plus simple de fournir des bindings python pour les API Apple, et hop, pas besoin de tout réapprendre ? »

Pour ceux qui voudraient vraiment ça, n'y a-t-il pas déjà PyObjC ?

avatar John Maynard Keynes | 

@qj

Ça n'aurait pas été plus simple de fournir des bindings python pour les API Apple, et hop, pas besoin de tout réapprendre ?

Plus simple indubitablement, mais ce serait surtout bien moins pertinent et sans réel capacité d'atteindre les objectifs que porte le projet et qui sont très ambitieux.

Nous ne sommes pas face à un bricolage, mais à une réel vision de ce que pourrait être une meilleur façon de coder proprement dans le cadre de ce qu'est la structurations des framework d'iOS que se langage embrasse totalement.

Il faut prendre le projet dans sa globalité et pas se focaliser sur les détails de la syntaxe du langage : l'objectif est de proposer un tout extrêmement cohérent pour développer efficacement (sur tous les aspects du terme) sur iOS.

Je le répète c'est très ambitieux et s'appuis sur une construction cohérente et globale du cade de développement sous iOS.

avatar Ast2001 | 

En gros, c'est un peu le Anders Hellsberg d'Apple.

avatar Joëh | 

C'est dommage, à peine sorti déjà en retard de 4 ans.

avatar Seccotine | 

Hein ?

avatar Akarin | 

@Joëh :
Développe ton commentaire ?

avatar oomu | 

Swift ne gère pas toutes les fonctionnalités que d'autres langages apportent (qui eux même ne gèrent pas toutes les fonctionnalités d'autres langage, d'ailleurs).

Exemple, Swift n'est pas fonctionnel, ce qui dans certains cercles est être un primate du néolithique (mais uniquement dans ces cercles de recherche pure)

ou par exemple, apparemment Swift n'a pas l'équivalent des "coroutines" de Julia.

Swift correspond au besoin de Cocoa. et dire "4 ans de retard" est un chiffre arbitraire. Comme je juge tout par rapport à Lisp, Swift a évidemment 56 ans de retard (y a pas la facilité de récursion de lisp) :)

Apple a viré le Ramasse-miette de objective-C pour ARC, qui selon où on se place est une hérésie ou une rédemption.

etc.

avatar John Maynard Keynes | 

@oomu

Exemple, Swift n'est pas fonctionnel, ce qui dans certains cercles est être un primate du néolithique

Quelle horreur : il est impératif d'être fonctionnel ;-)

avatar XiliX | 

@Joëh
"C'est dommage, à peine sorti déjà en retard de 4 ans."

A peine posté tu as déjà une minute de retard :)

Pages

CONNEXION UTILISATEUR