Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Macbidouille Articles & News : Vos Réactions _ A propos de Swift

Écrit par : ewok 15 Jun 2014, 12:29

Alors qu'approchait la fin de la keynote de la WWDC 2014, déjà particulièrement remplie en nouveautés très appréciées par les développeurs, Craig Federighi évoque Objective C lui-même, le principal langage de développement des apps sous OS X et iOS. Originellement dérivé de C, conçu il y a plus de 20 ans, Objective C a été amené chez Apple par Steve Jobs dans les cartons de NeXT lors de son retour en 1997. Federighi continue : "Nous nous sommes demandés si nous pourrions avoir un langage objet sans le bagage de C...". Et voici donc Swift, la plus grande surprise de la keynote. Ce nouveau langage, conçu en interne par Apple dans le plus grand secret depuis 4 ans, a immédiatement été le principal centre d'intérêt de tous les développeurs suivant l'événement. En voici une présentation succincte.

Comme tous les langages récemment apparus (Go, Rust, Groovy, Scala, etc.), Swift bénéficie largement de l'expérience et de la recherche en la matière. Apple aurait pu réutiliser un de ceux-ci, mais il aurait été étonnant qu'ils ne gardent pas le contrôle d'une pièce aussi fondamentale de l'outillage des développeurs (et du leur, puisqu'il est certain qu'Apple l'utilise et va l'utiliser pour ses propres applis - celle de la WWDC est un premier exemple).

En premier lieu, Swift permet d'écrire un code plus rapide qu'Objective C, en reprenant entre autres la dualité class/struct que C# avait popularisé : class pour les objets lourds et complexes (une fenêtre, un bouton, ...), et struct pour les agrégations de types scalaires simples (un vecteur de nombres flottants). Certes les structs existent aussi en Objective C, mais ce sont celles de C et il est impossible d'y attacher des méthodes. En Swift elles sont beaucoup plus évoluées. On retrouve donc ainsi la possibilité de manipuler de grandes quantités de données avec la même puissance qu'en C++ sans avoir à sacrifier la facilité d'utilisation.

Ensuite, Swift s'attache à être très sécurisé, pour éviter les erreurs de programmation les plus courantes. Pour cela, il est plus fortement typé qu'Objective C (le compilateur sait plus précisément ce qu'est supposé contenir une variable), mais sait faire de l'inférence de type, ce qui permet des déclarations plus lisibles et moins redondantes. Il gère la mémoire tout seul aussi bien qu'Objective C avec ARC, mais en utilisant des directives plus simples. Il oblige à initialiser toute variable avant son utilisation.

Bien que d'une syntaxe plus simple que celle d'ObjC, Swift intègre des concepts tels que la surcharge de méthodes, la surcharge d'opérateur, et les types génériques. Ces outils sont potentiellement très puissants, mais ouvrent aussi la porte a du code particulièrement complexe. Les vieux routiers de C++ comprendront à quel point, même si Swift reste très loin d'égaler C++ quant à la capacité à faire des sacs de noeuds.

Autre caractéristique très intéressante, Swift intègre certains des idiomes les plus courants de Cocoa, tel que vérifier si une variable contient bien un objet avant d'appeler une méthode dessus, ou exécuter automatiquement du code avant ou après le changement de valeur d'une propriété d'une classe. Ce qui nécessitait plusieurs lignes de code en Objective C s'écrit beaucoup plus simplement en Swift.

Il est également intéressant de noter que si Swift affiche des performances dignes d'un langage bas niveau tel que C ou C++, il a pourtant un niveau d'abstraction plus proche d'un langage de script tel que Python ou Ruby... et il est aussi possible d'écrire des scripts en Swift. Il sera très intéressant de voir ce que cette possibilité va permettre en terme de développement sous OS X (l'utilité sur iOS est moins évidente).

Enfin, il faut mentionner les "playgrounds" (aires de jeu) en annexe à Swift. Très fortement inspiré du document sur le http://worrydream.com/LearnableProgramming/ de Bret Victor, cette extension à Xcode permet de tester très facilement des fragments de code Swift et de visualiser immédiatement le résultat de ce qu'on tape, voir https://developer.apple.com/library/prerelease/ios/recipes/xcode_help-source_editor/ExploringandEvaluatingSwiftCodeinaPlayground/ExploringandEvaluatingSwiftCodeinaPlayground.html.

Pour conclure, notons que Swift n'est pas un caprice soudain d'Apple mais s'inscrit clairement dans une stratégie à long terme. Il vient de llvm, le projet de compilateur extensible Open Source qu'Apple supporte depuis sa création en 2003, et sur lequel Apple mise pour la pérennité de ses outils de développement. Le langage a actuellement encore quelques bugs : dans son implémentation bien sûr (nous n'en sommes qu'à la première beta de Xcode 6), mais le langage lui-même est susceptible d'évoluer encore, selon les retours des premières utilisations. Ceci dit, il est tout à fait possible de commencer à travailler avec, et vivement recommandé d'au moins y jeter un œil si vous êtes développeur.

Pour en savoir plus :


Proposé par Guillaume Laurent, http://intellicore.net
http://www.macbidouille.com/news/2014/06/15/a-propos-de-swift

Écrit par : MrAwax 15 Jun 2014, 13:35

Citation
Apple aurait pu réutiliser un de ceux-ci, mais il aurait été étonnant qu'ils ne gardent pas le contrôle …

Certes les années CodeWarrior (ie quand Apple avait perdu le contrôle de ses outils de développement et était donc tributaire des évolutions d'un éditeur tiers) restent encore gravées dans la mémoire de Apple mais ici il ne s'agit pas que de contrôle.

La transition a Swift à cela de magique que les API ne changent pas. Cocoa et les autres API de Apple sont parmi les meilleures API du marché en terme de conception. Là où Swift est superbe, c'est qu'il est conçu pour se marier parfaitement avec le design de Cocoa. Par exemple, quand on définit une fonction anonyme (block/cliquer) comme dernier argument du méthode Swift, elle a une syntaxe simplifiée. Or c'est justement le cas pour des très nombreuses méthodes des API Apple.

Pour cette condition, c'est-à-dire une transition facilitée par le maintien des API et une syntaxe optimisée pour ces API, le fait de définir son propre langage est indispensable.


Autre remarque : Swift est parfois plus rapide que C/C++. En effet, Swift a été conçu par l'équipe qui s'occupe de LLVM, un des meilleurs compilateurs/optimiseurs. Le langage à donc été conçu pour également permettre au compilateur de faire des optimisations qui ne sont pas possibles en C/C++ parce que le langage ne les permet pas.

Écrit par : igerard 15 Jun 2014, 13:42

Swift permet d'appeler son code C historique d'une manière assez simple, le bridge définit tout les types utiles...

Ce serait sympa qu'Apple sorte un playground sous ios...

Écrit par : El Bacho 15 Jun 2014, 14:09

Citation (MrAwax @ 15 Jun 2014, 14:35) *
La transition a Swift à cela de magique que les API ne changent pas. Cocoa et les autres API de Apple sont parmi les meilleures API du marché en terme de conception. Là où Swift est superbe, c'est qu'il est conçu pour se marier parfaitement avec le design de Cocoa. Par exemple, quand on définit une fonction anonyme (block/cliquer) comme dernier argument du méthode Swift, elle a une syntaxe simplifiée. Or c'est justement le cas pour des très nombreuses méthodes des API Apple.


Si j'ai bien compris, plutôt que de développer des extensions à un langage existant pour qu'il s'adapte aux API Cocoa (comme ça avait été le cas avec Objective C), ils sont plutôt partis de la logique de leurs API (celles qui existent et celles qu'ils pourront encore concevoir) et ont développé le langage à partir de ça, en essayant que sa syntaxe s'adapte ensuite aux habitudes des gens habitués à Python, Java et autres langages existants ?

Écrit par : igerard 15 Jun 2014, 14:34

Ils ont repris ObjC a la création de NeXT en 86, Brad J Cox venait juste de l'inventer. Et ont bâtit NeXTStep a partir de là, on peut dire que NeXTStep/Cocoa est nativement lié à ObjC.

Swift est le fruit d'une volonté de résoudre les problèmes de programmation que l'on rencontre avec Cocoa, par exemple le depilement de 'path' KVC (Key Value Coding) pere.fils.petitfils... Comment gérer le problème d'un élément du path dont la valeur serait nulle, toute en évitant une succession de test conditionnels avec 'if' par exemple, ce qui donne la notation ? Et ! : ? Pour tester la valeur et ! Pour aller chercher la valeur quand on est sur qu'elle existe.

La volonté aussi de garder le même runtime afin d'utiliser nativement sans bridge coûteux le code existant... ObjC ou C.

La volonté également de proposer des solutions originales sur un certain nombre de problèmes classique avec les énumération ou les switch par exemple.

Beau boulot de leur part, qui va de pair avec leur travail d'acceleration de JavaScript, sans doute pour cela qu'on retrouve JS au même niveau que AppleScript.

Il faut aussi savoir qu'ils ont continué à faire évoluer ObjC dans la foulée.

Écrit par : arcturus 15 Jun 2014, 14:35

Un lien permettant aux débutants de se faire une idée :http://www.swiftcode.fr/

Écrit par : Alizés 15 Jun 2014, 14:42

Je suis curieuse de savoir pourquoi Apple ne s'est pas encore fait remonter les bretelles avec un tel http://www.erain.com/products/swift3d/ pour son nouveau langage?

http://www.suzuki.fr/modeles/swift.html, http://www.swift.com/index.page?lang=en, http://swift-france.com, http://www.swift-tools.net, http://www.resmed.com/fr/products/swift_fx_nano/swift-fx-nano.html?nc=clinicians, http://www.vaderstad.com/fr/produits/gamme_travail_du_sol/swift, http://www.belightsoft.com/main.php, http://www.theatremassalia.com/dyn/spip.php?article2442, http://direct-mobil-home.com/Mobil%20Homes%20Swift, http://rog.asus.com/296652014/news/rog-announces-the-pg278q-swift-27-inch-wqhd-g-sync-gaming-monitor/ et encore http://www.swiftprod.com aussi...
Visiblement, Apple n'a vraiment pas fait dans l'original, cette fois-ci. À quand le premier procès donc?

Écrit par : MrAwax 15 Jun 2014, 14:46

Citation (El Bacho @ 15 Jun 2014, 15:09) *
Si j'ai bien compris, plutôt que de développer des extensions à un langage existant pour qu'il s'adapte aux API Cocoa (comme ça avait été le cas avec Objective C) …

Pour ObjC, cela n'a pas du tout été le cas : ObjC a été le langage de NextStep depuis le début et toutes les API NextStep ont été conçue en partant des fonctionnalités disponibles dans ObjC. D'ailleurs le préfix NS que l'on retrouve sur toutes les classes bas niveaux des API Apple (NSString, NSArray, NSDictionnary, …) veut dire NextStep.
Au rachat de Next par Apple en 96, ils ont repris toute la couche technique de NeXT comme fondation.

Les évolutions récentes de ObjC n'étaient pas là pour s'adapter aux API mais dans une intégration que seul Apple est capable de faire, faire évoluer API et langage main dans la main : c'est avec les évolutions de ObjC (block, …) que Apple a pu fair évoluer des API.

Le langage de référence d'une API est très important car c'est lui qui conditionne sa conception.

Écrit par : Jaguar 15 Jun 2014, 14:49

Citation (MrAwax @ 15 Jun 2014, 14:35) *
Citation
Apple aurait pu réutiliser un de ceux-ci, mais il aurait été étonnant qu'ils ne gardent pas le contrôle …
Certes les années CodeWarrior (ie quand Apple avait perdu le contrôle de ses outils de développement et était donc tributaire des évolutions d'un éditeur tiers) restent encore gravées dans la mémoire de Apple mais ici il ne s'agit pas que de contrôle.
Ce contrôle sur les outils de développement offre aussi une chose fondamentale à Apple et ses utilisateurs : la liberté d'une transition matérielle transparente. Pour passer toutes les applications Swift d'Intel à ARM, il suffira simplement de les recompiler après avoir coché la case "A9" dans Xcode 7.
Là encore, le souvenir de tous ceux qui développaient en CodeWarrior et qui ont du porter tous leurs projets sous Xcode pour passer sur Mac Intel (j'ai connu ça sad.gif ) reste encore douloureux !

Écrit par : Chriz 15 Jun 2014, 16:16

Citation (Jaguar @ 15 Jun 2014, 09:49) *
[Ce contrôle sur les outils de développement offre aussi une chose fondamentale à Apple et ses utilisateurs : la liberté d'une transition matérielle transparente. Pour passer toutes les applications Swift d'Intel à ARM, il suffira simplement de les recompiler après avoir coché la case "A9" dans Xcode 7.
Là encore, le souvenir de tous ceux qui développaient en CodeWarrior et qui ont du porter tous leurs projets sous Xcode pour passer sur Mac Intel (j'ai connu ça sad.gif ) reste encore douloureux !


Objective-C/Cocoa ne permettait-il pas de faire la même chose? i.e. changer l'architecture à la compilation dans XCode pour l'exécution x86 VS ARM?

Écrit par : Jaguar 15 Jun 2014, 16:28

Citation (Chriz @ 15 Jun 2014, 17:16) *
Citation (Jaguar @ 15 Jun 2014, 09:49) *
[Ce contrôle sur les outils de développement offre aussi une chose fondamentale à Apple et ses utilisateurs : la liberté d'une transition matérielle transparente. Pour passer toutes les applications Swift d'Intel à ARM, il suffira simplement de les recompiler après avoir coché la case "A9" dans Xcode 7.
Là encore, le souvenir de tous ceux qui développaient en CodeWarrior et qui ont du porter tous leurs projets sous Xcode pour passer sur Mac Intel (j'ai connu ça sad.gif ) reste encore douloureux !
Objective-C/Cocoa ne permettait-il pas de faire la même chose? i.e. changer l'architecture à la compilation dans XCode pour l'exécution x86 VS ARM?
Si. C'est le contrôle des outils de développement depuis Xcode qui le permet, pas Swift. On peut imaginer que Swift, repensé avec un niveau d'abstraction encore supérieur, facilitera encore ce passage (on ne devrait plus avoir de morceaux de code dépendant de la machine, d'un gestionnaire de périphérique par exemple).
Le but de mon message était de rappeler que le "contrôle", qui fait peur à presque tous sur ce site, est en fait souvent une très bonne chose (à 90%...).
Un autre exemple : ici on critique presque tous les jours le sandbox d'iOS, mais on est sûrement trop jeune pour se souvenir de l'alternative offerte avant l'iPhone : des smartphones qui devenaient inutilisables dès que l'on avait installé 3 applications tierces. En 2007 sur Windows Mobile, quand Tom Tom était lancé, on n'arrivait même plus à prendre un appel téléphonique normalement ! C'est ça à 90% le "contrôle".

Écrit par : MrAwax 15 Jun 2014, 17:22

Citation (Alizés @ 15 Jun 2014, 15:42) *
Je suis curieuse de savoir pourquoi Apple ne s'est pas encore fait remonter les bretelles avec un tel http://www.erain.com/products/swift3d/ pour son nouveau langage?

http://www.suzuki.fr/modeles/swift.html, http://www.swift.com/index.page?lang=en, http://swift-france.com, http://www.swift-tools.net, http://www.resmed.com/fr/products/swift_fx_nano/swift-fx-nano.html?nc=clinicians, http://www.vaderstad.com/fr/produits/gamme_travail_du_sol/swift, http://www.belightsoft.com/main.php, http://www.theatremassalia.com/dyn/spip.php?article2442, http://direct-mobil-home.com/Mobil%20Homes%20Swift, http://rog.asus.com/296652014/news/rog-announces-the-pg278q-swift-27-inch-wqhd-g-sync-gaming-monitor/ et encore http://www.swiftprod.com aussi...
Visiblement, Apple n'a vraiment pas fait dans l'original, cette fois-ci. À quand le premier procès donc?

Euh, pourquoi toutes ces entreprises peuvent utiliser ce nom sans se faire de procès et Apple ne pourrait pas ?
Dans tous ces exemples, il n'y a aucun "langage de programmation/script". Il n'y a aucun risque de confondre Swift (le langage) avec la Suzuki Swift ou l'engin d'épandage agricole.
De plus, la plupart des déboires d'Apple avec les noms étaient liés à des personnes qui avait déposé "iPhone" en s'inspirant de "iPod" et ne l'utilisait pas, attendant de le revendre à un autre.

Écrit par : igerard 15 Jun 2014, 17:39

Pour ceux que tout cela passionnent, en prenant un compte développeur on a accès à toutes les conférences de la WWDC, investissement valable... ça prend juste un peu de temps libre wink.gif

@Alizées

Swift est un adjectif, un nom commun... Surpris aussi par ce nom au début, avant de connaitre sa signification adjectivale... Swift pour moi était avant tout le nom d'un format d'échange d'informations financière...

J'ai de sérieux doutes pour un procès à ce sujet.

Écrit par : lemail2moi 15 Jun 2014, 19:42

Citation (MrAwax @ 15 Jun 2014, 17:22) *
Citation (Alizés @ 15 Jun 2014, 15:42) *
Je suis curieuse de savoir pourquoi Apple ne s'est pas encore fait remonter les bretelles avec un tel http://www.erain.com/products/swift3d/ pour son nouveau langage?

http://www.suzuki.fr/modeles/swift.html, http://www.swift.com/index.page?lang=en, http://swift-france.com, http://www.swift-tools.net, http://www.resmed.com/fr/products/swift_fx_nano/swift-fx-nano.html?nc=clinicians, http://www.vaderstad.com/fr/produits/gamme_travail_du_sol/swift, http://www.belightsoft.com/main.php, http://www.theatremassalia.com/dyn/spip.php?article2442, http://direct-mobil-home.com/Mobil%20Homes%20Swift, http://rog.asus.com/296652014/news/rog-announces-the-pg278q-swift-27-inch-wqhd-g-sync-gaming-monitor/ et encore http://www.swiftprod.com aussi...
Visiblement, Apple n'a vraiment pas fait dans l'original, cette fois-ci. À quand le premier procès donc?

Euh, pourquoi toutes ces entreprises peuvent utiliser ce nom sans se faire de procès et Apple ne pourrait pas ?
Dans tous ces exemples, il n'y a aucun "langage de programmation/script". Il n'y a aucun risque de confondre Swift (le langage) avec la Suzuki Swift ou l'engin d'épandage agricole.
De plus, la plupart des déboires d'Apple avec les noms étaient liés à des personnes qui avait déposé "iPhone" en s'inspirant de "iPod" et ne l'utilisait pas, attendant de le revendre à un autre.


http://swift-lang.org/main/

Écrit par : lewis82 15 Jun 2014, 20:24

Citation (lemail2moi @ 15 Jun 2014, 19:42) *
Citation (MrAwax @ 15 Jun 2014, 17:22) *
Citation (Alizés @ 15 Jun 2014, 15:42) *
Je suis curieuse de savoir pourquoi Apple ne s'est pas encore fait remonter les bretelles avec un tel http://www.erain.com/products/swift3d/ pour son nouveau langage?

http://www.suzuki.fr/modeles/swift.html, http://www.swift.com/index.page?lang=en, http://swift-france.com, http://www.swift-tools.net, http://www.resmed.com/fr/products/swift_fx_nano/swift-fx-nano.html?nc=clinicians, http://www.vaderstad.com/fr/produits/gamme_travail_du_sol/swift, http://www.belightsoft.com/main.php, http://www.theatremassalia.com/dyn/spip.php?article2442, http://direct-mobil-home.com/Mobil%20Homes%20Swift, http://rog.asus.com/296652014/news/rog-announces-the-pg278q-swift-27-inch-wqhd-g-sync-gaming-monitor/ et encore http://www.swiftprod.com aussi...
Visiblement, Apple n'a vraiment pas fait dans l'original, cette fois-ci. À quand le premier procès donc?

Euh, pourquoi toutes ces entreprises peuvent utiliser ce nom sans se faire de procès et Apple ne pourrait pas ?
Dans tous ces exemples, il n'y a aucun "langage de programmation/script". Il n'y a aucun risque de confondre Swift (le langage) avec la Suzuki Swift ou l'engin d'épandage agricole.
De plus, la plupart des déboires d'Apple avec les noms étaient liés à des personnes qui avait déposé "iPhone" en s'inspirant de "iPod" et ne l'utilisait pas, attendant de le revendre à un autre.


http://swift-lang.org/main/


C'est un projet open-source utilisé dans des milieux hautement spécialisés. Je les vois mal aller en procès.

Écrit par : GregWar 15 Jun 2014, 22:49

Citation (MrAwax @ 15 Jun 2014, 13:35) *
Cocoa et les autres API de Apple sont parmi les meilleures API du marché en terme de conception.


Alors ça c'est un avis tout à fait perso :-)
A mon avis, Apple fait parmi les API les moins stables/pérennes du business.
Ils font ce dont ils ont besoin pour l'OS et leurs apps, et se foutent un peu du reste du monde.

Swift apparait clairement comme la meilleure annonce depuis longtemps pour les Devs.
Si on peut avoir qqc de clair, et pas "si le constructeur il s'appelle make-qqc, alors l'alocc elle est comme si et pis l'auto-release il est comme ça - sauf si on a oublié, parce que c'est pas du tout obligatoire".

Enfin je dis ça, je dois avouer que je ne code plus en ObjC depuis 2 bonnes années.
Ca a peut-être encore tout changé la dessus aussi.

Écrit par : (The)Space 16 Jun 2014, 01:51

Un bon article écrit sur PC Inpact :
http://www.nextinpact.com/news/87997-swift-enjeux-nouveau-langage-annonce-par-apple.htm

(réservé aux abonés)

Écrit par : igerard 16 Jun 2014, 04:45

Citation (GregWar @ 15 Jun 2014, 23:49) *
Citation (MrAwax @ 15 Jun 2014, 13:35) *
Cocoa et les autres API de Apple sont parmi les meilleures API du marché en terme de conception.


Alors ça c'est un avis tout à fait perso :-)
A mon avis, Apple fait parmi les API les moins stables/pérennes du business.
Ils font ce dont ils ont besoin pour l'OS et leurs apps, et se foutent un peu du reste du monde.

Swift apparait clairement comme la meilleure annonce depuis longtemps pour les Devs.
Si on peut avoir qqc de clair, et pas "si le constructeur il s'appelle make-qqc, alors l'alocc elle est comme si et pis l'auto-release il est comme ça - sauf si on a oublié, parce que c'est pas du tout obligatoire".

Enfin je dis ça, je dois avouer que je ne code plus en ObjC depuis 2 bonnes années.
Ca a peut-être encore tout changé la dessus aussi.


Ce n'est pas parce qu'ils ont fait énormément bouger l'ensemble que cela altère sa qualité en terme d'architecture... Qui plus est Cocoa repose sur un ensemble d'API C impressionnantes... Les Core*.

Le seul truc récent qui m'impressionne autant que cela a pu m'impressionné par le passé, c'est angularJS que je trouve très très bien vu.

Ils avaient l'impérieuse nécessité de bouger, tu ne peux pas stagner avec des API qui ont été conçues depuis aussi longtemps.

Et j'ai quand même l'impression qu'ils s'inquiètent surtout de donner des boites à outils capables de couvrir tous les besoins de développement applicatif de leur communauté de développeurs, ça va bien au delà de leur besoins propres, il me semble.

Mais il est vrai, malgré tout que ça donne l'impression d'être moins bien tenu que NeXTStep/OpenStep, mais à cette époque la couverture fonctionnelle était ridicule en comparaison à aujourd'hui... On était capable de connaitre toutes les API smile.gif

Écrit par : manou 16 Jun 2014, 05:43

Citation (igerard @ 16 Jun 2014, 06:45) *
Le seul truc récent qui m'impressionne autant que cela a pu m'impressionné par le passé, c'est angularJS que je trouve très très bien vu.


AngularJS me fait beaucoup penser à WebObjects. On retrouve la même philosophie et les mêmes paradigmes. Il a du mérite à mon avis à 'décomplexé' un peu Javascript. C'est également un anti-JQuery smile.gif.

De manière générale, Javascript est LE langage qui monte aujourd'hui. Et je pense que Apple l'a compris en lançant swift qui ressemble quelque peu à Javascript muni de preprocesseur comme Coffeescript par exemple. c'est pour cela que swift sera accessible à des développeurs web pourvus que ceux-ci se tapent l'abondance des apis cocoa qui au demeurant sont très bien structurées.

Pour moi le GROS truc de swift et ce qui va faire son adoption rapide c'est playground.

Écrit par : igerard 16 Jun 2014, 07:07

WebObject, WebScript... Y a plus de 15 ans, on faisait déjà des trucs étonnants en combinant le tout avec DHTML... Drag&Drop.... wink.gif

Le truc que je trouve très bien vu avec angularJS, c'est ce 'depliement' à partir de JS lui même, en respectant le pattern MVC.

Écrit par : DefKing 16 Jun 2014, 08:30

Dire que j'en suis resté à l'assembleur : CTWO, ADD... C'était en 1975... Et au Cobol...

Écrit par : Antibiotik 16 Jun 2014, 09:56

Citation (MrAwax @ 15 Jun 2014, 18:22) *
Citation (Alizés @ 15 Jun 2014, 15:42) *
Je suis curieuse de savoir pourquoi Apple ne s'est pas encore fait remonter les bretelles avec un tel http://www.erain.com/products/swift3d/ pour son nouveau langage?

http://www.suzuki.fr/modeles/swift.html, http://www.swift.com/index.page?lang=en, http://swift-france.com, http://www.swift-tools.net, http://www.resmed.com/fr/products/swift_fx_nano/swift-fx-nano.html?nc=clinicians, http://www.vaderstad.com/fr/produits/gamme_travail_du_sol/swift, http://www.belightsoft.com/main.php, http://www.theatremassalia.com/dyn/spip.php?article2442, http://direct-mobil-home.com/Mobil%20Homes%20Swift, http://rog.asus.com/296652014/news/rog-announces-the-pg278q-swift-27-inch-wqhd-g-sync-gaming-monitor/ et encore http://www.swiftprod.com aussi...
Visiblement, Apple n'a vraiment pas fait dans l'original, cette fois-ci. À quand le premier procès donc?

Euh, pourquoi toutes ces entreprises peuvent utiliser ce nom sans se faire de procès et Apple ne pourrait pas ?
Dans tous ces exemples, il n'y a aucun "langage de programmation/script". Il n'y a aucun risque de confondre Swift (le langage) avec la Suzuki Swift ou l'engin d'épandage agricole.
De plus, la plupart des déboires d'Apple avec les noms étaient liés à des personnes qui avait déposé "iPhone" en s'inspirant de "iPod" et ne l'utilisait pas, attendant de le revendre à un autre.


Si Il y a ça :

http://swift-lang.org/main/

Il semble que ce n'est pas Apple qui est inventé Swift…

Écrit par : igerard 16 Jun 2014, 11:23

Le mot Swift... Sûrement pas smile.gif

Le langage Swift, permettant de coder des applications iOS ou OSX... Sûrement wink.gif

La question est de savoir si ce langage va se retrouver public, en relation avec LLVM, Clang et ObjectiveC...

On peut espérer lors de la release...

Écrit par : Jaypee 16 Jun 2014, 16:02

La traduction moins connue de swift est "Martinet", l'oiseau producteur de guano bien connu de nos villes.
C'est cette signification qui est utilisée par les deux logos (Apple ou swift-lang)

Le langage ne semble pas révolutionnaire, mais une évolution intégrant la POO et le style fonctionnel, à la manière de Java8, Ceylon, Scala, Groovy, JavaScript...
Le typage statique ne doit pas être lourd, typiquement si on crée une fonction carré(x) -> x*x , le type est implicite, faudrait pas être forcé à produire 3 versions : int, float et double.

La présence du "REPL", appelé "Playground" est très positive, mais ne suffit pas à booster l'audience d'un langage. Sinon tous les langages interprétés seraient préférés.

Scala, par exemple, parallellement aux sources.scala classiques à compiler etc... a aussi la notion de worksheet un fichier de script évalué dès qu'il est sauvegardé. On tape le code... Pomme-S et boom, on a le résultat inséré comme un commentaire en face des lignes de code.

JP

Écrit par : Hebus 13 Feb 2020, 10:55

Swift Playgrounds dispo sous Catalina ... utilisation de Catalyst... Bonne réalisation, utile si on veut apprendre le language et les API sans Xcode smile.gif

https://9to5mac.com/2020/02/11/apple-launches-swift-playgrounds-app-for-the-mac/

https://apps.apple.com/us/app/swift-playgrounds/id1496833156?mt=12

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)