Blog ENI : Toute la veille numérique !
🎁 Jusqu'au 31/12, recevez notre
offre d'abonnement à la Bibliothèque Numérique. Cliquez ici
🎁 Jusqu'au 31/12, recevez notre
offre d'abonnement à la Bibliothèque Numérique. Cliquez ici
  1. Livres et vidéos
  2. Apprendre la Programmation Orientée Objet avec le langage Java
  3. Introduction à la POO
Extrait - Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) (4e édition)
Extraits du livre
Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) (4e édition) Revenir à la page d'achat du livre

Introduction à la POO

Histoire de la POO

L’exposé qui suit ne se veut pas exhaustif. Il retrace simplement les événements marquants qui ont conduit à la démocratisation de la programmation orientée objet et à la création du langage Java.

Contrairement à ce que l’on pourrait croire, le concept de la programmation orientée objet n’est pas récent. C’est dans les années 60 que deux brillants chercheurs norvégiens, Kristen Nygaard et Ole-Johan Dahl, ont développé les bases de la programmation orientée objet en créant le langage Simula. Les notions de base de la POO comme les classes, l’héritage, les méthodes virtuelles, etc. furent alors créées dans ce langage pour parvenir à modéliser de façon fidèle des processus industriels complexes. Simula-67 allait ouvrir la voie des langages objets comme Smalltalk puis comme, entre autres, C++, Java et C# qui viendront exploiter ces concepts quelques décennies plus tard. Les deux auteurs de Simula ne furent récompensés de leurs travaux qu’au début des années 2000, juste avant leur disparition...

En 1980, Smalltalk est le premier langage objet proposé avec un environnement de développement graphique intégré. Smalltalk a été conçu par l’équipe de l’Américain Alan Kay au centre de recherche informatique californien de Xerox (le très fameux Palo Alto Research Center). Ce langage va reprendre et compléter les concepts de base avec notamment la notion de compilation dynamique d’un code intermédiaire, portable sur des environnements hétérogènes, dans un code machine cible. Ce concept sera repris par Java avec son Just In Time Compiler et par le C#.

Toujours en 1980, le Danois Bjarne Stroustrup développe pour AT&T le C++ (initialement appelé C with classes). C++ est une évolution objet du langage C inventé dix ans plus tôt par le célèbre tandem canado-américain Kernighan et Ritchie pour UNIX. Le langage C++ est toujours très utilisé même si ses détracteurs le jugent trop complexe et pas assez objet à cause de sa compatibilité avec le C.

Dans les années 1990, James Gosling développe le langage Oak pour Sun Microsystems. Oak sera rebaptisé Java en 1995. Ce langage a été pensé pour être indépendant du matériel qui exécute ses programmes « précompilés », pour être robuste et sûr et surtout plus facile à programmer que le C++. Aujourd’hui, le langage Java est très largement utilisé à la fois sur le Web, sur les postes station, les téléphones et autres tablettes. Il appartient à Oracle qui a acquis Sun Microsystems en avril 2009 pour plus de 7 milliards de dollars. Une autre forme, open source cette fois-ci, existe et fait suite à un développement initié par Sun Microsystems en 2006. Les implémentations du langage sont identiques pour ces deux versions. Oracle propose des outils et un support technique payant, mais il est possible d’utiliser Java ORACLE gratuitement depuis sa version 11.

images/01RI01N.png

En 2001, Microsoft présente C# (prononcé « Si Sharp » - sharp étant la traduction anglaise du dièse), un langage développé par le Danois Anders Hejlsberg qui n’est autre que le créateur du Turbo Pascal et l’architecte de Delphi. C# est un langage objet proche de Java permettant de programmer des applications .NET Framework qui étaient, au départ, réservées aux environnements Microsoft tels que les stations de travail, les applications web, les assistants ou les tablettes. Mais .NET Core puis .NET ont succédé au .NET Framework en supportant les environnements Linux, Mac OS et fonctionnant sur le Cloud. Cette ouverture et les possibilités syntaxiques avancées du C# en font un concurrent sérieux de Java.

Pourquoi programmer en objet ?

Les années 70-80 ont connu les langages procéduraux avec une exécution linéaire de leurs programmes allant du début jusqu’à...

Historique du langage Java

Dès les premières versions de Windows, les langages C puis C++ furent largement mis à contribution pour construire des applications. Malgré son orientation objet et sa puissance incontestable, le C++ demeure néanmoins un langage complexe à utiliser. Le développeur doit absolument tout gérer comme par exemple, les allocations/désallocations mémoire et les aspects liés à la gestion de la sécurité. En outre, une prise directe des applications sur les interfaces Windows impacte immédiatement la stabilité du système en cas de dysfonctionnements et de bugs.

Dans les années 90, le langage Java propose aux développeurs un codage de leurs programmes beaucoup plus simple et une exécution isolée dans ce que l’on appelle une machine virtuelle. Il suffit qu’un environnement d’exploitation propose une machine virtuelle Java pour que l’application fonctionne sans modification de code ! De plus, la machine virtuelle garantit une utilisation correcte des ressources réelles et cloisonne l’exécution des applications. Côté gestion mémoire, le développeur gère uniquement les demandes d’allocation au fur et à mesure des besoins de son programme. Les zones mémoire sont ensuite exploitées jusqu’à...