Avantages et inconvénients de la programmation orientée objet

Code informatique. Écran vert foncé

La plupart des applications PC et mobiles modernes utilisent des techniques de POO.

Crédit d'image : SoulArt/iStock/Getty Images

Les langages de programmation orientés objet tels que C++, Java et Visual Basic ont été développés par des informaticiens pour accélérer la programmation et améliorer la qualité des logiciels. Les techniques logicielles de POO divisent les programmes en blocs fonctionnels appelés objets, ce qui rend fréquemment nécessaire des fonctionnalités telles que les boutons de contrôle, la gestion de base de données et les mathématiques plus faciles à utiliser et à partager entre programmeurs. Cependant, les avantages viennent avec des compromis tels qu'une complexité logicielle accrue et des performances réduites.

Meilleure productivité

Les techniques de POO imposent des règles à un programmeur qui, à long terme, l'aident à faire plus de travail; les programmes finis fonctionnent mieux, ont plus de fonctionnalités et sont plus faciles à lire et à entretenir. Les programmes qui n'utilisent pas la POO ont tendance à être de grandes dalles de texte continues comme de très longs chapitres dans un livre. Lorsque les programmeurs interviennent pour le modifier, le texte finit par devenir désorganisé et plus difficile à suivre. En revanche, les programmeurs POO prennent des objets logiciels nouveaux et existants et les « assemblent » pour créer de nouveaux programmes. Parce que les bibliothèques d'objets contiennent de nombreuses fonctions utiles, les développeurs de logiciels n'ont pas à réinventer la roue aussi souvent; une plus grande partie de leur temps est consacrée à l'élaboration du nouveau programme.

Vidéo du jour

Coûts de programmation réduits

Surtout pour les grands projets, la POO permet de réduire le coût de la main-d'œuvre de programmation. Le personnel travaillant sur un projet peut développer sa propre bibliothèque d'objets logiciels, ce qui permet aux programmeurs d'utiliser facilement le travail des autres et de réduire les heures nécessaires pour développer des programmes. Avec une qualité logicielle améliorée, les développeurs passent moins de temps à réparer les programmes défectueux, ce qui réduit encore les coûts de main-d'œuvre.

Courbe d'apprentissage plus raide

Pour maîtriser la POO, un débutant doit apprendre de nouveaux concepts abstraits tels que polymorphisme -- réutiliser des objets tout en leur ajoutant de nouvelles fonctionnalités -- et encapsulation -- cacher des parties des données internes d'un objet pour améliorer la sécurité -- aucune de ces idées ne se trouve dans les anciens styles de programmation. Non seulement ces concepts prennent du temps à apprendre, mais ils peuvent être trop complexes pour les jeunes programmeurs potentiels ou ceux qui ne programment qu'occasionnellement.

Logiciel plus lent

Les logiciels orientés objet peuvent impliquer un code d'entretien supplémentaire qui n'est pas nécessaire dans d'autres langages informatiques; l'ordinateur doit exécuter la programmation supplémentaire, ce qui ralentit le temps de réponse d'une application. Pour les projets où la vitesse est importante, les programmeurs peuvent choisir d'écrire les parties les plus urgentes en non-OOP langages tels que l'assembleur ou C, réservant le code OOP pour les fenêtres ou les boutons -- zones dans lesquelles les objets ont un avantage.