Langauage objets orienté

Le programeur x -- -  
 myra -
Je veut une difinition du language objet oriente S.V.P , et mercis...

1 réponse

myra
 
salut, tu peux aller sur des sites de java

Java est un langage orienté objets
Les premiers ordinateurs étaient programmés en langage machine, c'està-
dire en utilisant directement les instructions comprises par le processeur.
Ces instructions ne concernaient évidemment que les éléments
du processeur : registres, opérations binaires sur le contenu des registres,
manipulation du contenu d'adresses mémoire, branchement à des
adresses mémoire, etc.
Le premier langage développé a été l'assembleur, traduisant d'une part
mot à mot les instructions de la machine sous forme de mnémoniques
plus facilement compréhensibles, et masquant d’autre part la complexité
de certaines opérations en libérant le programmeur de l'obligation
de décrire chaque opération dans le détail (par exemple, choisir
explicitement un mode d'adressage).
L'assembleur, comme le langage machine, permet d'exprimer tous les
problèmes qu'un ordinateur peut avoir à résoudre. La difficulté, pour
le programmeur, réside en ce que le programme (la “solution” du problème)
doit être exprimé en termes des éléments du processeur (registres,
adresses, etc.) plutôt qu'en termes des éléments du problème luimême.
Si vous avez à programmer un éditeur de texte, vous serez bien
ennuyé, car l'assembleur ne connaît ni caractères, ni mots, et encore
moins les phrases ou les paragraphes. Il ne permet de manipuler que
des suites plus ou moins longues de chiffres binaires1.
Certains programmeurs pensèrent alors qu'il serait plus efficace d'exprimer
les programmes en termes des éléments du problème à résoudre. Les premiers ordinateurs étaient utilisés uniquement pour les calculs
numériques. Aussi, les premiers langages dits “de haut niveau”
exprimaient tous les problèmes en termes de calcul numérique. En ce
qui concerne le déroulement des programmes, ces langages reproduisaient
purement et simplement les fonctions des processeurs : tests et
branchements.
Est rapidement apparue la nécessité de mettre un frein à l'anarchie régnant
au sein des programmes. Les données traitées par les ordinateurs
étant en majorité numériques, c'est au déroulement des programmes
que fut imposée une structuration forte. Ainsi, le déroulement des programmes
devenait (en théorie) plus facilement lisible (et donc ceux-ci
devenaient plus faciles à entretenir), mais les données était toujours
essentiellement des nombres (mais de différents formats) et éventuellement
des caractères, voire des chaînes de caractères, ou même des tableaux
de nombres ou de chaînes, ou encore des fichiers (contenant,
bien sûr, des nombres ou des chaînes de caractères). Le pionnier de ces
langages dits “structurés” fut Pascal, que sa conception extrêmement
rigide limitait essentiellement à l'enseignement. Le langage C, universellement
employé par les programmeurs professionnels, marqua l'apogée
de ce type de programmation.
Tous les problèmes se présentant à un programmeur ne concernent pas
forcément des nombres ou des caractères uniquement. Cela paraît évident,
mais cette évidence était probablement trop flagrante pour entrer
dans le champ de vision des concepteurs de langages, jusqu'à l'apparition
des premiers langages orientés objets. Ceux-ci, en commençant par
le précurseur, Smalltalk, permettent d'exprimer la solution en termes
des éléments du problème, plutôt qu'en termes des outils employés.
Cela représente un énorme pas en avant pour la résolution de problèmes
complexes, et donc pour la productivité des programmeurs. Bien
sûr, toute médaille a son revers. En termes de performances pures, rien
ne vaudra jamais un programme en assembleur. Toutefois, dans le cas
de projets très complexes, il est probable que l'écriture et surtout la
mise au point de programmes en assembleur, voire en langages “structurés”,
prendraient un temps tendant vers l'infini.
Le langage orienté objets le plus répandu est sans équivoque C++. Il
s'agit d'une version de C adaptée au concept de la programmation par objets. Dans ce type de programmation, on ne manipule pas des
fonctions et des procédures, mais des objets qui s'échangent des
messages. Le principal avantage, outre le fait que l'on peut créer des
objets de toutes natures représentant les véritables objets du problème
à traiter, est que chaque objet peut être mis au point séparément.
En effet, une fois que l'on a défini le type de message auquel
un objet doit répondre, celui-ci peut être considéré comme une boîte
noire. Peu importe sa nature. Tout ce qu'on lui demande est de se
comporter conformément au cahier des charges. Il devient ainsi extrêmement
facile de mettre en oeuvre un des concepts fondamentaux
de la programmation efficace : d'abord écrire un programme de façon
qu'il fonctionne. Ensuite, l'améliorer afin qu’il atteigne une rapidité
suffisante.
Ce concept est particulièrement important, sinon le plus important de
la programmation orientée objets. En effet, avec les langages des générations
précédentes, cette approche, souvent utilisée, conduisait généralement
à une solution médiocre, voire catastrophique. Il était
d'usage de développer un prototype fonctionnel, c'est-à-dire un programme
conçu rapidement dans le seul but de reproduire le fonctionnement
souhaité pour le programme final. Les programmeurs les plus
sérieux utilisaient pour cela un langage de prototypage. Une fois un
prototype satisfaisant obtenu, ils réécrivaient le programme dans un
langage plus performant. L'avantage était qu'ils avaient ainsi l’assurance
de repartir sur des bases saines lors de l'écriture de la version
finale. L'inconvénient était qu'il fallait faire deux fois le travail, puisque
l'intégralité du programme était à réécrire. De plus, il était nécessaire
de connaître deux langages différents, ce qui n'augmentait pas la
productivité.
Une autre approche consistait à développer un prototype dans le même
langage que la version finale, avec la ferme décision de réécrire ensuite,
de façon “propre”, les éléments qui auraient été mal conçus au départ.
Satisfaisante en théorie, cette solution n'était pratiquement jamais réellement
appliquée, la version finale étant presque toujours la version
initiale agrémentée de nombreux replâtrages là où il aurait fallu une
réécriture totale, celle-ci s'avérant impossible en raison des nombreuses
connexions apparues en cours de développement entre des parties du
code qui auraient dû rester indépendantes.
Les langages orientés objets, et en particulier Java, apportent une solution
efficace et élégante à ce problème en définissant de manière
très stricte la façon dont les objets communiquent entre eux. Il devient
ainsi tout à fait possible de faire développer les parties d'une application
par des équipes de programmeurs totalement indépendantes. C'est
d'ailleurs le cas pour le langage Java lui-même, comme on peut s'en
apercevoir en examinant les noms choisis pour les méthodes des différents
objets du langage. Certains sont courts et obscurs, d'autres
longs et explicites, en fonction de la personnalité du programmeur les
ayant choisis. (Ces différences ont d'ailleurs tendance à disparaître
dans les nouvelles versions du langage, marquant en cela une volonté
d'unification appréciable.)

****c ca en gros*****
0