de l'obj-c au c++?

bonjour à  tous je recherche un cours qui permet de passer de l'obj-c au c++ ! En connaissez vous? 


Ou sinon auriez vous un bon livre/cours a me conseiller qui vous a permis d'aprendre le c++!?


 


 


Réponses

  • mpergandmpergand Membre
    octobre 2013 modifié #2


    bonjour à  tous je recherche un cours qui permet de passer de l'obj-c au c++ ! En connaissez vous? 




     


    Non, mais je connais l'inverse 


     


    http://www.chachatelier.fr/programmation/objective-c.php


     


    l'Objective-C est un langage simple à  apprendre mais lacunaire.


    Le C++ se veut complet et flexible mais complexe à  maitriser.


     


    Je ne pense pas qu'il y ait le bouquin miracle que fera de toi un crack du C++.


    La seule méthode éprouvée pour s'améliorer en programmation c'est coder et encore coder !


    Aujourd'hui, avec internet, tu as de la chance, pléthore de tutos sont accessibles en un simple clic.


    Moi, j'écumais Eyrolles et Le Monde en Tique à  la recherche du saint graal.


    Mais c'était une autre époque :)


  • J'avait trouvé ce pdf mais il n'a pas d'intérêt pour moi! moi qui veut apprendre le C++,


     


    je voulais juste que vous me conseillez sur un cours qui vous a aidé a apprendre les base du language ( qui a l'air très similaire au C, que je connais) ainsi que la POO. on a beaucoup de choix sur le net c'est vrai! par exemple le site du zero (openclassroom) presente un bon tuto mais s'adresse vraiment a un public de debutant dont je ne fait plus trop partis! 


     


    dernière essaie: un cours complet qui passe du C au C++? :)


  • mpergandmpergand Membre
    octobre 2013 modifié #4

    En anglais:


    Moving from C to C++


     


    En français:


    C++ pour les programmeurs C


    Claude Delannoy est un auteur connu et plutôt apprécié.


     


    Je n'ai lu aucun de ces ouvrages.




  •  


    Claude Delannoy est un auteur connu et plutôt apprécié.


     


    Je n'ai lu aucun de ces ouvrages.





    fais ce que je dis, pas ce que je fais :)
  • non ce livre a l'air tres complet et il est récent! Merci mpergand :)


  • Avec le recul, et hors framework spécifique, j'ai presque envie de dire qu'il suffit de passer ton Obective-C en dot-syntax :o

    Bon, ok y'a des subtilités, mais l'essentiel de la compréhension est la même, vu que l'Objective-C et le C++ apporte notamment la notion de POO au C...


  • AliGatorAliGator Membre, Modérateur
    Heu Larme c'est loin d'être aussi simple que ça.

    - Les classes abstraites, les mots clés virtual & co
    - Les Class Templates
    - La gestion de la mémoire (new/delete) à  faire à  la main (pas d'ARC, pas de reference counting, à  moins d'utiliser des libs genre Boost, ...)
    - Pas la même syntaxe de déclaration des classes
    - Pas de @property, notion de private/protected/public bien plus forte du coup sur les variables et méthodes
    - Héritage multiple possible (même si c'est le MAL)
    - Pas de dynamic runtime (introspection, instanceRespondsToSelector, etc) ou du moins ça ne marche pas pareil

    Bref, même si l'Objective-C apporte une surcouche Object / POO au C et que le C++ un peu aussi, dans l'ensemble certes on retrouve dans les 2 cas les concepts de la POO (classes, héritage, instanciation, ...) mais il y a quand même pas mal de différences dans la pratique.


  • Heu Larme c'est loin d'être aussi simple que ça.


    - Les classes abstraites, les mots clés virtual & co

    - Les Class Templates

    - La gestion de la mémoire (new/delete) à  faire à  la main (pas d'ARC, pas de reference counting, à  moins d'utiliser des libs genre Boost, ...)

    - Pas la même syntaxe de déclaration des classes

    - Pas de @property, notion de private/protected/public bien plus forte du coup sur les variables et méthodes

    - Héritage multiple possible (même si c'est le MAL)

    - Pas de dynamic runtime (introspection, instanceRespondsToSelector, etc) ou du moins ça ne marche pas pareil


    Bref, même si l'Objective-C apporte une surcouche Object / POO au C et que le C++ un peu aussi, dans l'ensemble certes on retrouve dans les 2 cas les concepts de la POO (classes, héritage, instanciation, ...) mais il y a quand même pas mal de différences dans la pratique.




    Oui, évidemment, y'a pas mal de subtilités...

    Mais de toute manière, j'suis pas encore passé à  l'ARC, donc la gestion de mémoire, ça m'va...

    Les @property et les private/protected/public sont une manière différentes de gérer, mais bon...

    L'héritage multiple, c'est le mal, donc on peut s'en passer, non ?

    Les classes abstraites/virtuales, ça par contre, c'est intéressant.

    Les classes templates, c'est génial, mais j'en ai toujours chier à  les faire.

    Quand à  la déclaration des classes et la création de méthodes, c'est un truc à  prendre...



    Mais disons que grosso-modo, beaucoup de ces notions ne sont pas trop compliquées à  comprendre... De là  à  bousculer les habitudes et à  penser directement à  ce qu'il faut faire en C++, c'est autre chose. Mais sur la courbe d'apprentissage, ça va.

  • en dehors des différences liées au langage, il y aussi pas mal de techniques comme la gestion de mémoire qui s'abordent un peu différemment, il est utile de jeter un oeil à  la librairie Boost... (avec ses smart pointers). Il y a aussi l'utilisation des exceptions qui est traditionnellement plus ancrée dans les usages et à  des fins de traitement. Par ailleurs même ce qui ne devrait pas se faire doit être maà®trisé si l'on a besoin de lire un peu de code.


  • CéroceCéroce Membre, Modérateur

    Non, mais surtout, la culture du C++ est totalement différente. C'est vraiment pour les gens qui veulent tout maà®triser.


     


    Dix ans après ne plus y avoir touché, j'ai jeté un oe“il pour me rendre compte qu'ils avaient ajouté des classes de collection à  la bibliothèque standard... mais alors, il faut voir la tronche des API.


     


    Rien que le classique



    std::cout << "Hello World";

    me démontre à  quel point ce langage est foireux.


  • FKDEVFKDEV Membre
    octobre 2013 modifié #12


    Non, mais surtout, la culture du C++ est totalement différente. C'est vraiment pour les gens qui veulent tout maà®triser.


     


    Dix ans après ne plus y avoir touché, j'ai jeté un oe“il pour me rendre compte qu'ils avaient ajouté des classes de collection à  la bibliothèque standard... mais alors, il faut voir la tronche des API.


     


    Rien que le classique



    std::cout << "Hello World";

    me démontre à  quel point ce langage est foireux.




     


    Tu m'étonnes ! C'est moche, j'ai fait beaucoup de C++, j'ai toujours essayé d'éviter la stdlibc++.


     


    La plupart des livres parle beaucoup de la surcharge des opérateurs et des stream (cout << " Hello"), ce qui en fait des mauvais livres à  mon avis. Pour moi c'est vraiment le mauvais côté du C++.


     


    Le bon côté c'est tout ce qui se rapporte à  la POO :


    -l'héritage   (spécialisation)


    -les mots clés public, private, protected  (encapsulation)


    -le mot clé virtual (polymorphisme).


    -new, delete, constructeur, destructeur (encapsulation)


     


    A laisser tomber dans un premier temps :


    -les templates


    -l'héritage multiple


    -la librairie boost


     


    A laisser tomber définitivement :


    -les streams (<<) (le sprintf est plus explicite)


    -la surchage des opérateurs +, -, ==, etc (Il vaut mieux créer des méthodes explicites type isEqualToString().


     


     


     


    Le problème du C++, c'est qu'il lui manque des classes de collections pratiques (type NSArray, NSDictionary).


     


    Il y a bien la stdlibc++, mais je la trouve inutilement compliquée.


Connectez-vous ou Inscrivez-vous pour répondre.