Comment pourriez-vous expliquer l'orienté objet ?
Steve Jobs a essayé d'expliquer ce concept

Le , par Olivier Famien, Chroniqueur Actualités
La programmation orientée objet est un concept assez répandu dans l’environnement de programmation informatique. Plusieurs langages tels que Java, C#, VB.Net, Objective C, Python, Ruby, C++, PHP, Eiffel, Ada, Smaltalk, Ocaml, JavaScript, Perl, Self, ActionScript, Lua... pour ne citer que ceux-là en sont dérivés.

Ce style de programmation trouve son aboutissement dans les travaux d’Alan Kay, un passionné du langage Simula. Dans les années 1970, Alan Kay qui était fortement influencé par le langage Simula a commencé à réfléchir sur la mise en œuvre d’un modèle de programmation facilitant le développement des applications.

Pendant les travaux de recherche avec une équipe de chercheurs de Xerox pour la mise en œuvre de Dynabook, l’un des premiers prototypes d’ordinateur portable, Alan Kay développe Smaltalk, le langage orienté objet et basé sur Simula afin de faciliter la conception d’applications sur cet ordinateur. C’est à partir de ce nouveau langage que la programmation orientée objet se formalise et prend tout son sens.

Dans les années 80 Bjorn Stroustrup intègre la programmation orientée objet dans le langage C. Cela donne naissance au langage C++ et devient par ailleurs le premier langage orienté objet à être largement utilisé.

Dans les années 90, une équipe de Sun développe une version simplifiée du C++ baptisée Java. Dans cette même période, plusieurs autres langages prennent naissance à partir de ce paradigme et facilitent le développement des applications orientées objet. Aussi, vu l’effervescence que connait cette approche dans ces années 90, dans une interview accordée à Steve Jobs, il lui est demandé d’expliquer en des termes simples ce qu’est un logiciel orienté objet.

Sans faire preuve de langage technique, Steve Jobs explique que « les objets sont comme les gens. Ce sont des choses qui vivent, respirent, ont des connaissances intrinsèques sur comment faire les choses et ont une mémoire à l’intérieur d’eux qui leur permet de se souvenir des choses. Et plutôt que d’interagir avec eux à un très bas niveau, on interagit avec eux à très haut niveau d’abstraction comme nous le faisons présentement ».

« Voici un exemple : si je suis votre objet de blanchisserie, vous pouvez me donner vos vêtements sales et m’envoyer un message qui dit ‟Pouvez-vous faire laver mes vêtements, s’il vous plait ?”. Je sais où se trouve la meilleure blanchisserie. Je parle anglais et j’ai des dollars dans mes poches. Donc, je sors et j’appelle un taxi et dis au chauffeur de me conduire à cet endroit à San Francisco. Je vais faire laver vos vêtements, je saute à nouveau dans un taxi et je reviens ici. Je vous donne vos vêtements propres, ‟Voici vos vêtements propres” ».

« Vous n’avez aucune idée de comment je l’ai fait. Vous n’avez aucune connaissance de l’endroit où se trouve la blanchisserie. Peut-être que vous parlez français, et vous n’êtes même pas en mesure d’appeler un taxi. Pourtant, je savais comment faire tout cela. Et vous n’avez pas besoin de savoir tout ça. Toute cette complexité était cachée à l’intérieur de moi et nous avons pu interagir à un niveau d’abstraction très élevé. C’est ce que sont les objets. Ils encapsulent la complexité et les interfaces pour cette complexité sont de haut niveau ».

Ainsi défini, il serait aisé, même pour les non-techniciens de se représenter l’image des logiciels orientés objet.

Source : Rolling Stones

Et vous ?

Comment trouvez-vous l’explication de la programmation orientée objet de Steve Jobs ?

À l’instar de Steve Jobs, comment pourriez-vous simplement expliquer les objets ou la POO ?

Voir aussi

Forum langages de programmation


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de RyzenOC RyzenOC - Membre expert https://www.developpez.com
le 27/10/2015 à 13:32
Une réponse de Steve Jobs permet de comprendre ce concept avec des exemples simples

Steve Jobs le type qui n'as jamais codé 1 seule ligne de code de toute sa vie ? Comment il pouvait savoir ce qu'était la prog objet en ne sachant pas codé ?

Par contre l'explication est plutôt bonne, je dois le reconnaitre.
Avatar de Traroth2 Traroth2 - Expert éminent https://www.developpez.com
le 27/10/2015 à 13:44
Citation Envoyé par sazearte  Voir le message
Steve Jobs le type qui n'as jamais codé 1 seule ligne de code de toute sa vie ? Comment il pouvait savoir ce qu'était la prog objet en ne sachant pas codé ?

Je dois dire que je me suis posé la même question. Mais si l'explication est vraiment de lui, c'est plutôt bien trouvé. Même si ça explique surtout la finalité (modularisation par séparation des responsabilités) et pas ce qu'est la programmation orientée objet.
Avatar de Haseo86 Haseo86 - Membre éclairé https://www.developpez.com
le 27/10/2015 à 13:47
Je ne sais pas à quel point il est vrai que Steve Jobs n'a jamais codé.

Cependant, il n'a pas besoin d'être développeur pour comprendre le concept et savoir l'expliquer. Son exemple est d'ailleurs très clair je pense.
Avatar de Luckyluke34 Luckyluke34 - Membre chevronné https://www.developpez.com
le 27/10/2015 à 13:48
Citation Envoyé par sazearte  Voir le message
Steve Jobs le type qui n'as jamais codé 1 seule ligne de code de toute sa vie ?

Je trouve pourtant son explication tout à fait limpide et juste. Donc pour moi soit il savait coder, soit il avait une excellente connaissance théorique du sujet, soit on lui a soufflé la réponse.
Avatar de EyZox EyZox - Membre confirmé https://www.developpez.com
le 27/10/2015 à 14:19
J'ai du mal a voir ce qu'il y a d'actuel dans cette actualité.
Sans être pro ou anti S.Jobs,
C'est très simple de trouver des analogies au monde objet et personne n'a attendu Steve Jobs pour en faire.
Etait-il le premier a vulgariser ce qu'est le langage objet ?
Je ne comprend pas cette actualité. C'est ... banal ??? Mais parce que Steve Jobs l'a dit il y a des années, ça en fait une actualité ?
J'ai l'impression qu'on en fait quelque chose d'extraordinaire ... "À l’instar de Steve Jobs, comment pourriez-vous simplement expliquer les objets ou la POO ?"
Avatar de AoCannaille AoCannaille - Membre expérimenté https://www.developpez.com
le 27/10/2015 à 14:24
Citation Envoyé par sazearte  Voir le message
Steve Jobs le type qui n'as jamais codé 1 seule ligne de code de toute sa vie ?

Tu racontes n'importe quoi, Steve Jobs était meilleur codeur que toi ou moi, c'est en électronique qu'il se reposait massivement sur Wozniak (qui était aussi très bon en logiciel)
L'exemple le plus simple de sa vie qui illustre mon propos est l'histoire du jeux Casse brique sur atari
La borne d'arcade dessinée par Nolan Bushnell a été conçue à la base par Steve Jobs et Steve Wozniak, les fondateurs ultérieurs d'Apple. Jobs, alors employé par Atari, charge son ami Wozniak de réaliser le circuit électronique, tandis qu'il s'occupe de la partie logicielle. Le tout est réalisé en 4 jours et 4 nuits par les deux amis.

Steve jobs est un connard mysanthrope perfectionniste mais il est quand même compétant à l'origine.
Avatar de Pierre Louis Chevalier Pierre Louis Chevalier - Expert éminent https://www.developpez.com
le 27/10/2015 à 14:24
Citation Envoyé par EyZox  Voir le message
J'ai du mal a voir ce qu'il y a d'actuel dans cette actualité.
Sans être pro ou anti S.Jobs,
C'est très simple de trouver des analogies au monde objet et personne n'a attendu Steve Jobs pour en faire.
Etait-il le premier a vulgariser ce qu'est le langage objet ?
Je ne comprend pas cette actualité. C'est ... banal ??? Mais parce que Steve Jobs l'a dit il y a des années, ça en fait une actualité ?
J'ai l'impression qu'on en fait quelque chose d'extraordinaire ... "À l’instar de Steve Jobs, comment pourriez-vous simplement expliquer les objets ou la POO ?"

Il y à une icone débat, c'est certes pas une actualité , c'est un débat tout simplement, ou un troll si tu préfères .
Avatar de mrqs2crbs mrqs2crbs - Membre averti https://www.developpez.com
le 27/10/2015 à 14:38
On peut retirer Ocaml de la liste,
c'est quand même avant tout un langage destiné à la programmation fonctionnelle.

Et puisque l'on est dans le discours illustré, je rajoute une petite citation de Joe Armstrong à propos des langages OO :
Because the problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them.
You wanted a banana but what you got was a gorilla holding the banana and the entire jungle

Avatar de seblutfr seblutfr - Membre confirmé https://www.developpez.com
le 27/10/2015 à 15:02
Citation Envoyé par mrqs2crbs  Voir le message
On peut retirer Ocaml de la liste,
c'est quand même avant tout un langage destiné à la programmation fonctionnelle.

Et puisque que l'on est dans le discours illustré, je rajoute une petite citation de Joe Armstrong à propos des langages OO :

Tout ça me dépasse un peu. Je ne suis pas développeur pro, je fais juste quelques trucs simples en ayant appris sur le tas, mais personnellement, je pense avoir compris le principe en reprenant toujours les mêmes exemple du gâteau / moule à gâteau (pour expliquer l'objet / la classe) et de la voiture (avec ses caractéristiques physiques et ses méthodes : je lui demande simplement d'avancer, je n'ai pas besoin de connaître la mécanique interne).
Avatar de Voïvode Voïvode - Membre émérite https://www.developpez.com
le 27/10/2015 à 15:07
Citation Envoyé par Haseo86  Voir le message
Je ne sais pas à quel point il est vrai que Steve Jobs n'a jamais codé.

Le blog de Steve Wozniak : Does Steve Jobs know how to code?

« Steve n’a jamais codé. Ce n’était pas un ingénieur et il n’a rien conçu vraiment lui-même, mais il était suffisamment technicien pour apporter des modifications au travail des autres. »

Citation Envoyé par Olivier Famien  Voir le message
Sans faire preuve de langage technique, Steve Jobs explique [ce qu’est un objet].

Sa vulgarisation montre une grosse ficelle de sa stratégie de communication : repérer un concept puissant et le vulgariser. Enseigner marque les esprits et flatter l’intelligence est vendeur.
Offres d'emploi IT
Développeur Javascript H/F
Conserto - Bretagne - Rennes (35000)
Ingénieur systèmes et réseaux confirme h/f
MENWAY - Ile de France - Paris (75000)
DBA Oracle / SQL Server H/F
Mac Allister Freelance - Ile de France - Paris (75000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil