|
Sujet : [Terminologie] Paradigm ... kesaco... |
| LeGreg |
paradigme = systeme de pensée.
Meme s'il n'y a qu'une seule realité (hypothese :) ), il y a plusieurs paradigmes pour la representer.
Ceci dit ces paradigmes sont parfois inconciliables (exemple, le paradigme socialiste et capitaliste) meme s'il pourra etre prouvé qu'ils ont tous les deux raison. Dans cette optique, la these de Church-Turing pose comme hypothese que la notion de calculable est la meme pour tous les langages universels. C'est à dire que tout probleme qui peut-etre resolu dans le paradigme fonctionnel peut l'etre egalement dans le paradigme impératif, procédural ou orienté objet. C'est ce qui permet aux compilateurs d'exister. (tout finit en assembleur). Un langage n'a pas besoin d'un grand nombre de primitives pour etre universel (cf le lambda calcul ou la machine de Turing). L'arrivée des ordinateurs quantiques ou la recherche dans les neurosciences risquent de bousculer la notion de "fonction calculable".
En fait Java est issu de la recherche sur les langages a objets qui a débuté avec Simula. Utilisé pour les simulations mais l'orienté objet s'est très bien adapté à la programmation générale grâce à l'introduction d'éléments d'algorithmiques. Bertrand Meyer, a créé eiffel dans le but de mettre en oeuvre tout un lot de concepts, qui ont depuis été largement formalisés: Eiffel est non seulement un langage mais egalement un environnement et une methode (notation BON, design by contract, etc.. l'informatique moderne). Java s'est inspiré de smalltalk pour son design et de C et C++ pour sa syntaxe. Des idées tirées d'Eiffel sont utilisées dans la programmation java (ou C++) de tous les jours mais ne font pas partie de la norme qui regroupe uniquement la machine virtuelle, la syntaxe du langage et la librairie standard.
Prolog est un avatar des langages dits de 5eme generation. Il est né en France, est est très utilisé dans des domaines tels que l'intelligence artificielle (il est sensé reproduire un raisonnement logique par un faisceau de regle et d'axiomes). Sinon c'est aussi un outil de torture pour les etudiants :)
(un interpreteur XML de langage courant en prolog. argh)
LeGreg |
| Tetedeiench |
Citation :
Java was born on 1995. It comes from C++ and Eiffel. It?s an object oriented, interpreted, portable language. Java?s most important feature resides in its compilation. When Java?s is compiled, it is transformed into Bytecode, which is a code executable for the Java Virtual Machine, and independent of the architecture of the computer that compiled it. Thus it can be run on any computer, whichever architecture it has, as soon as this computer supports the Java Virtual Machine. Java has almost the same syntax as C++, except for the pointers. It has a garbage collector as Eiffel and took from it some features C++ has not.
Scheme appeared in 1975, as a derivate of LISP. Scheme is, as LISP, a functional language. In fact, Scheme is really a simplified version of LISP. Its specifications are in about 50 Pages, compared to LISP?s 1300 page. It supports some really new features such as continuations.
Prolog is the language that introduced the declarative Paradigm. It?s nor a derivate of any other language, and was born in 1972. A declarative language does not focus on how the computation has to be performed, but on giving the properties of the correct answer. It?s often used in the IA programming.
|
Ca avance un peu... si tu vois des choses a rajouter ;) |
| Tetedeiench |
youdontcare a écrit a écrit :
>> J;ai pas trouve sur le net :/ c'est une blague ? tu cherches sous google, le mot est souligné et t'emmène vers ... http://www.dictionary.com/search?q=paradigm paradigme est un mot employé à toutes les sauces ... ici, on te demande quelle philosophie de développement découle des langages.
java = paradigme objet
scheme = paradigme fonctionnel
prolog = aucune idée
à titre de comparaison,
C = paradigme procédural
>> J'en deduis que java est issu de Eiffel et de C++, qu'il reprends la syntaxe de C++ et certaines features de Eiffel ( Garbage collector notamment), la garbage collection date de la première implémentation de lisp (1958). c'est également le premier langage objet à avoir été standardisé (milieu 80s je crois).
scheme est un lisp 'cleané', ie plus unifié - eg là où lisp a deux namespaces pour fonctions & variables, scheme n'en a qu'un, global. prolog - je ne connais pas.
on parle donc de "paradigm shift" lorsque une communauté / des idées changent de direction. par ex, le passage à l'objet, ou la découverte de lisp dans les années 1950 à l'époque où fortran était le modèle.
//
voilà pour clarifier qq faits. ton phrasé à l'air de dire qu'eiffel a inventé la gc, OUPS. à ne pas dire.
de même que java reprend la syntaxe c++ ... c'est plutôt la syntaxe C avec le keyword class et d'autres trucs (en simplifiant à l'extrème). en c++ tu as les templates, la surcharge d'opérateurs, l'héritage multiple, etc ...
|
J'avais trouve des trucs sur le net, mais rien qui me renseigne sur ce que c'etait ;)
Merci pour le petit expose, je vais m;en servir grandement ;) |