Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. 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) (3e édition)
Extraits du livre
Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) (3e é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 soit, 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é par le célèbre tandem canado-américain Kernighan et Ritchie pour UNIX 10 ans plus tôt. 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...

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’à...