Swift est facile à  apprendre

muqaddarmuqaddar Administrateur
octobre 2014 modifié dans Objective-C, Swift, C, C++ #1

La bonne blague:


Apple - Swift


 


Bientôt on aura droit à  un gosse de 8 ans.


 


Je trouve Swift plus dur que l'Objective-C, et ce n'est pas mon très faible passé de C qui parle, ni le manque d'habitudes. Il y a des tas de concepts à  apprendre, puisque le langage est plus "puissant".


Réponses

  • CéroceCéroce Membre, Modérateur
    Moi ce qui me fait le plus rire c'est " UP TO 8.4x FASTER THAN PYTHON 2.7 ".
    Python en est aujourd'hui à  la version 3.4.2. Sauf bien sûr sur Yosemite, où la version installée est la 2.7.6.
  • Je dirais que tout dépend de l'investissement qu'on y met. Plus de concepts à  apprendre probablement en swift mais ça offre dès lors plus de souplesses et de solutions. Moi j'aimerais bien déjà  qu'ils règlent les problèmes liés à  leur nouveau langage. Voir des warnings ou erreurs dès la génération de code d'un TableViewController par exemple ça le fout mal. Je parle pas non plus des bugs avec CoreData.


    Mais si on fait abstraction de tout ça je pense que swift reste quand même très agréable à  utiliser. 


  • LeChatNoirLeChatNoir Membre, Modérateur

    De ttes façons, quand Apple décide de pousser un truc, ils le poussent fort.


    Donc on va devoir y passer tot ou tard...


     


    Pour une appli existante, vous préconiseriez quoi ?


    Réécriture complète from scratch ou adaptation module par module ? (c possible ça ?)


  • Pour une appli existante, vous préconiseriez quoi ?

    Ne rien faire. La laisser en Objective-C et la maintenir en Objective-C...


  • Ne rien faire. La laisser en Objective-C et la maintenir en Objective-C...




     


    +1

  • Joanna CarterJoanna Carter Membre, Modérateur
    C'est un peu comme quand je montre mes belles photos à  certains individus; ils disent "vous devez avoir un très bon appareil". Non, ce n'est pas l'appareil qui fait les belles images, c'est la photographe.


    N'importe quel langage, on peut écrire le bon code ou le mauvais code. Swift n'améliorera pas la qualité de code, ça c'est notre boulot.
  • @Joanna


    Exactement, la photo est d'abord dans l'oe“il du photographe, après c'est de la technique!

  • LeChatNoirLeChatNoir Membre, Modérateur

    ok merci :)




  • Pour une appli existante, vous préconiseriez quoi ?


    Réécriture complète from scratch ou adaptation module par module ? (c possible ça ?)




     


    Je dirais que cela dépend de la complexité de ton application, de ce que le passage à  Swift peut apporter et surtout de ta motivation pour l'apprentissage de ce nouveau langage.


    Réécrire une application - et je parles d'une petite application - peut aussi être une bonne méthode pour apprendre Swift puisque tu connais exactement les processus qui l'anime.

  • Si tu reproduit ton application, tu vas reproduire des schémas qui ne sont peut-être pas les mieux adapter à  Swift.


    Autant faire quelque chose de nouveau pour adopter les nouvelles manières de faire. 


  • TofTof Membre
    octobre 2014 modifié #12

    J'ai commencé à  jouer avec Swift je l'ai pas trouvé particulièrement difficile. Sur certains aspects ils se sont inspirés de Python. J'ai entre autre retrouvé la possibilité de définir mes propres opérateurs et de pouvoir définir des paramètres avec des valeurs par défaut comme en Python ou en C++. La commande switch est carrément plus puissante que sur les autres langages.

    Dans la présentation ils comparent Swift à  Python et Objective C. Il aurait été plus judicieux de le comparer à  C, C++ et Java. Il aurait aussi été intéressant d'avoir un descriptif clair et détaillé des tests qu'ils ont fait pour comparer Swift à  Python et Objective C.


    Y a une seul truc qui m'ennuie avec Swift c'est qu'en Objective C quand on veut fournir un framework sous forme d'une librairie statique il suffit de donner le .h avec les classes et les méthodes publiques et le .a. Avec Swift je vois pas comment on peut faire ça car il n'y a qu'un seul fichier. Vous pourrez sans doute m'éclairer sur le sujet ?...


    De manière générale je le trouve pas mal ce langage. Sans doute plus simple qu'Objective C d'un certain coté.


    Et comme le dit LeChatNoir :


    "De ttes façons, quand Apple décide de pousser un truc, ils le poussent fort.

    Donc on va devoir y passer tot ou tard..."


  • La question se pose surtout pour les nouvelles applis non ? (enfin dans la grosse banque ou je consulte, le code des apps date d'il y a 4 ans, avec de la maintenance mais jamais d'évolution du code, et c'est pas joli joli, chaque nouvelle version d'iOS et apparition d'iPhone a écran différent fait mal)


  • CéroceCéroce Membre, Modérateur
    octobre 2014 modifié #14

    J'ai commencé à  jouer avec Swift je l'ai pas trouvé particulièrement difficile.

    En fait, ce n'est pas tant le langage en lui-même qui est difficile, qu'utiliser Cocoa avec.
     

    J'ai entre autre retrouvé la possibilité de définir mes propres opérateurs

    La surcharge d'opérateur n'a pas que des qualités. Sans entrer dans l'exemple extrême du C++ (cout << "Langage de m****";), on ne sait jamais bien quelle méthode est appelée. Mais ça peut aussi améliorer la lisibilité. Personnellement, je suis pour tant qu'on conserve le sens originel des opérateurs.
     

    Il aurait été plus judicieux de le comparer à  C, C++ et Java. Il aurait aussi été intéressant d'avoir un descriptif clair et détaillé des tests qu'ils ont fait pour comparer Swift à  Python et Objective C.

    C'est clair que dire "10,000 integers found in a graph using depth-first search algorithm", c'est un peu léger.
     

    Y a une seul truc qui m'ennuie avec Swift c'est qu'en Objective C quand on veut fournir un framework sous forme d'une librairie statique il suffit de donner le .h avec les classes et les méthodes publiques et le .a. Avec Swift je vois pas comment on peut faire ça car il n'y a qu'un seul fichier. Vous pourrez sans doute m'éclairer sur le sujet ?...

    D'après ce que j'ai lu, créer des bibliothèque est prévu un jour, mais pas faisable dans l'immédiat. Après, on peut sans doute imaginer que la framework serait purgée des implémentations; ce n'est pas vraiment le problème.
  • TofTof Membre
    octobre 2014 modifié #15


    La question se pose surtout pour les nouvelles applis non ?

    ça dépend de plusieurs critères. Swift doit apporter un plus par rapport à  Objective C. Il faut qu'un projet en Swift soit au minimu aussi performant qu'en Objective C. On doit pouvoir l'utiliser facilement avec Cocoa Touch et Cocoa. Pour ça Apple a fait de gros effort dans ce sens. Maintenant il faut jouer avec et prendre le risque de faire des projets avec Swift. On peut commencer par de petits projets.Pour ce qui est des gros projets ça prendra sans doute un peu de temps. Et vraisemblablement il faudra sans doute attendre qu'Apple est réglé tous les défauts de jeunesse de ce nouveau langage. Il se peut aussi qu'Apple nous force la main en faisant en sorte que les nouvelles features dans Xcode soient réservées à  ce langage par exemple. Du coup on n'aura pas le choix que de faire nos nouveaux projets en Swift. À voir comment Apple va gérer ça...


    (enfin dans la grosse banque ou je consulte, le code des apps date d'il y a 4 ans, avec de la maintenance mais jamais d'évolution du code, et c'est pas joli joli, chaque nouvelle version d'iOS et apparition d'iPhone a écran différent fait mal)

    Oui ça c'est un pb que je connais aussi. Apple au fil des versions d'Xcode a introduit puis améliore le Storyboard. Mais ensuite il faut migrer les projets existant sur ces nouveaux outils et à  travers les différentes versions d'iOS. Plus le projet est ancien plus le cout de migration est important. Et ce cout est au mieux sous évalué. D'autant plus que comme tu le dis le code d'origine est souvent pas joli joli. C'est dès fois moins couteux de réécrire l'application que de perdre du temps à  mettre de l'ordre dedans !
Connectez-vous ou Inscrivez-vous pour répondre.