Je voulais apprendre un langage de programmation orienté objet, je ne le veux à aucune fin juste pour connaître tout le concept de POO. Alors, quelqu'un peut-il me dire quelle langue je dois commencer à apprendre?
Je voulais apprendre un langage de programmation orienté objet, je ne le veux à aucune fin juste pour connaître tout le concept de POO. Alors, quelqu'un peut-il me dire quelle langue je dois commencer à apprendre?
Réponses:
Quelques suggestions supplémentaires:
Le meilleur livre que j'ai jamais lu sur la barre OOP aucun est la construction logicielle orientée objet de Bertrand Meyer . Ce n'est pas une lecture «facile» dans laquelle vous devrez réfléchir sérieusement par endroits. Mais il fait le meilleur travail que j'ai vu pour expliquer les principes d'OO.
Quant aux langages: je resterais loin du C ++. Tout simplement trop grand à des fins d'apprentissage. Si vous voulez un langage qui vous aidera vraiment à comprendre OO (par opposition à celui dans lequel vous écririez des applications grand public / obtiendriez un emploi), alors regardez smalltalk. Ou Eiffel (la langue dans le livre de Meyer ci-dessus).
Si vous voulez un langage un peu plus courant mais qui supporte toujours fidèlement les principes OO, alors Python est un bon pari. Java et C # sont également corrects si vous souhaitez une saisie statique.
Un mot d'avertissement cependant: la langue ne vous apprendra pas OO. Il ne peut qu'aider (ou gêner) la façon dont il prend en charge les concepts OO. Apprendre OO, c'est vraiment apprendre à penser en termes OO. Pour cela, je revenais au livre de Meyer.
hth.
Vous pouvez apprendre n'importe quel langage orienté objet tel que C ++, Java, C # etc. pour essayer OOPS.
Si vous voulez vraiment apprendre la POO, vous devez penser au-delà des langues et comprendre que c'est un paradigme qui aide à la complexité des mangas impliqués dans les logiciels, tout comme la façon dont nous les gérons dans ce monde réel. Ensuite, apprenez les concepts de base en OO comme le polymorphisme, l'héritage, l'encapsulation (PIE), etc.
Il y a de bons livres sur l'analyse et la conception trop orientées objet avec des applications (2e édition) par Grady Booch
En outre, vous pouvez essayer des blogs comme celui-ci que j'ai trouvé assez simple pour commencer - fascinatingoops.com
Vous voulez apprendre la POO? Une réponse - Smalltalk.
C'est un langage élégant et est OO au cœur. Vous apprendrez la POO depuis le début et ne serez pas gêné par toutes les autres distractions que d'autres langues parviennent à intégrer.
Smalltalk gagne. Et il y a aussi de bons ebooks gratuits (voir: Stéphane Ducasse )
Vous devrez apprendre le C ++, ou peut-être l'un des ancêtres comme Smalltalk. C ++ offre une séparation nette entre des concepts tels que l'orientation d'objet, la gestion de la mémoire et la référence par rapport à la valeur, et il dispose d'un solide support générique.
N'apprenez pas Java ou un langage .NET comme C #. Lorsque vous apprenez un langage comme Java, vous apprenez des choses comme «Les objets sont toujours sur le tas et sont toujours des références», ce qui n'est vrai que pour Java et absolument pas vrai pour la POO en général. Cette confusion de concepts (orientation objet, gestion de la mémoire, référence vs valeur) est très dangereuse pour une première langue, car une fois que vous les avez coincés dans votre tête, il peut être très difficile de les retirer. C # est un peu mieux à cet égard, mais pas beaucoup. En outre, ils peuvent avoir une forte tendance à enseigner "L'héritage est un marteau et tout est un clou" avec un faible support de programmation générique.
La meilleure façon d'apprendre les concepts de la POO est d'écrire de plus en plus de code et de le faire réviser souvent. La pratique fait un bon programmeur.
Pensez à des scénarios réels, définissez un énoncé de problème - résolvez-le dans le code et faites-le réviser. Vous pouvez toujours obtenir l'aide de /codereview// pour les avis :)
Bon codage !!!
Pas
Mon premier contact avec le monde OO était C ++, ce qui n'était pas un mauvais début. Mais je me suis beaucoup amélioré lors de l'apprentissage de Python. La différence vient des langages: essayer des idées ('comment puis-je résoudre ce problème de façon OO?') En C ++ a besoin de plus de code à écrire et comprend beaucoup plus d'écueils que d'essayer la même idée en Python. Je recommanderais donc Python.
Je ne pense pas que vous devriez chercher dans une autre langue tout en essayant d'apprendre la POO. Pour moi, il est plus facile de saisir la théorie et d'apprendre à l'appliquer si je peux me rapporter à quelque chose que je connais déjà. Trouver une nouvelle syntaxe ne fait qu'empêcher.
Vous pouvez commencer avec n'importe quel livre OOP. Encore une fois, j'en aurais un dans la langue de mon choix. La lecture d'un livre sur le refactoring (style OOP) m'a aidé dans l'application de l'OOP. J'ai pris un projet existant (aucune distraction de la collecte des exigences) et trouvé de nouvelles façons de l'améliorer. Ce n'était pas seulement OOP pour OOP. Ensuite, vous pouvez apprendre à le faire du début à la fin d'un nouveau projet. La logique ici est que vous ne l'obtiendrez pas toujours dès le départ. Si vous pouvez reconnaître où cela est approprié, vous serez mieux. Comme la plupart des choses, cela ne résoudra pas tous les problèmes.
Il existe des limitations précises avec certaines langues. Si votre objectif est d'être le maître de l'héritage multiple, .NET est sorti.
Je vais aller à l'encontre de la pensée conventionnelle ici et suggérer que les langues les plus simples pour utiliser la POO ne sont pas nécessairement les meilleures langues pour l' apprendre . J'ai d'abord été exposé à OOP avec C ++, mais je ne l'ai pas "compris" avant d'avoir lu le chapitre du livre Camel de Larry Wall sur OOP avec Perl. Pour une raison quelconque, j'ai eu du mal à saisir la différence entre les classes et les objets jusqu'à devoir bénir explicitement un objet dans une classe. Je n'ai pas vraiment compris l'implémentation sous-jacente de la POO avant de le faire en C avec GObject, où aucun de ces détails ne vous est caché. Je n'ai pas vraiment compris les meilleures pratiques avant de suivre un cours en entreprise indépendant de la langue. C'est un très gros sujet,.