"Laurent Deniau" wrote:
[snip]
Yep. Le probleme, c'est que l'experience a montre que cette flexibilite
depasse les besoins courants alors qu'elle ajoute un niveau de
complexite problematique pour la gestion de gros projets. Alors
rapidement on se refait un systeme a base de objet-classe avec des
prototypes. Il y a pratiquement plus d'articles sur comment faire du
objet-classe dans un langage a prototype que d'article sur les langages
a prototypes eux-memes (qui ne sont deja pas nombreux, le seul que j'ai
attentivement regarde etant Self).
le probleme avec les "besoins courants" c'est qu'on voit arriver
aussi de la "programmation courante", un peu comme ce qui est dit ici
http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html
Je n'ai rien contre Java, mais de plus en plus souvent
je ne vois que des gens pensant que si on fait du Java on fait de l'Orienté
Objet
et que tout le reste (qui ne ressemble pas a Java) est a jeter et/ou n'est
pas serieux.
Mais ce que tu dis est vrai, on se refait souvent un systeme a base de
objet-classe,
meme avec un langage basé sur les prototypes (moi le 1er d'ailleurs :)).
Personnellement je n'ai rien contre les classes en elle-meme,
c'est juste que je veux etre libre de pouvoir le faire avec des prototypes.
Le premier point est un probleme de syntaxe. Si un langage permet de
faire de l'oriente objet mais n'est pas objet, la question est quel
prix(*) sommes-nous pret a payer pour faire de la POO dans ce langage?
(*)prix ici peut representer la quantite de code supplementaire a taper,
ou l'absence de detection d'erreur a la compilation, ou une forme non
conventionnelle de programmer, etc...
pas faux du tout, surtout en ce qui concerne le (*)prix
mais souvent ce que je reponds (peut etre a tort)
dans le cas d'un langage comme JavaScript qui ne permet
pas de detecter des erreurs a la compilation comme pourrais
le faire un compilateur avec du typage statique
dans les 2 cas le prix de maintenance du "programme"
doit garantir (au mieux) le fait de ne pas comporter d'erreures (au
possible)
et ca on ne peut pas le garantir avec juste un compilateur qui compile
il faut des tests qui eux verifient la bonne execution du "programme"
et JavaScript peut-etre testé aussi bien que Java, meme sans typage statique
petit exemple ici:
http://www.burrrn.com/unittests/core2_v1.0.1_JS_runUnitTest.html
juste pour dire que la verification du compilateur n'est pas une fin en soi
:)
Un langage qui permet de creer-manipuler-detruire des objets.
Qu'est-ce qu'un objet pour toi?
un objet c'est la caracterisation
d'une personne, d'un endroit, d'une chose, d'une entité, d'un concept, d'un
écran, etc...
enfin en restant court :)
zwetan