par
Hywan » 13 août 2008, 13:14
tu dis que chaque problème amène à penser différement, et que chaque langage nécessite la même logique, alors il faut prendre le langage le plus aproprié en terme de liibilité ?
Justement non. Chaque langage répond à une logique particulière. Certains langages ont des logiques similaires (comme l'a dit Berze : Perl et PHP se ressemblent dans la logique générale), mais ce sont des langages par famille.
On trouve des familles de langages, donc des familles de logiques : la famille ML (Caml, OCaml, …), la famille LISP (LISP, Scheme, …), la famille « script CGI » (PHP, Perl, Python parfois, …), etc.
Pour te donner un exemple : PHP n'est pas approprié pour résoudre des équations car il ne sait pas du tout comment faire, alors que Caml, lui, a déjà tout pour résoudre ça. Il sait très bien géré la récursivité (elle est optimisée), il a un typage inductif, qui se prête très bien aux équations justement, une gestion de mémoire différente, etc.
Un typage inductif c'est vachement sympa (mais je ne sais pas comment s'est codé, j'ai pas encore tout compris). C'est une autre façon de traiter les données, et c'est là toute la finesse de ce langage. PHP a un typage faible, il ne peut pas travailler sur des expressions (au sens Mathématiques), ou sinon, il faudrait faire de l'objet et ce serait très lourd.
En Prolog (pour faire de l'Intelligence Artificielle — IA —), on a le
back-tracking qui est implémenté dans le langage. Encore une fois, rares sont les langages qui ont ceci car c'est peu utile, sauf dans le cas de l'IA où c'est pratiquement un des fondements.
Calimero a bien résumé ça. Je complète (ou insiste) en disant qu'il faut déjà connaître son problème et ensuite utilisé l'outil adapté. L'outil c'est le langage. On va lire le mode d'emploi, c'est sûr, mais ce n'est pas parce qu'on connaît tous les outils qu'on sait résoudre tous les problèmes. Ça n'a pas de sens.
En fait, on parle de
paradigme de programmation, c'est tout à fait le mot que je cherchais.
[quote="katagoto"]tu dis que chaque problème amène à penser différement, et que chaque langage nécessite la même logique, alors il faut prendre le langage le plus aproprié en terme de liibilité ?[/quote] Justement non. Chaque langage répond à une logique particulière. Certains langages ont des logiques similaires (comme l'a dit Berze : Perl et PHP se ressemblent dans la logique générale), mais ce sont des langages par famille.
On trouve des familles de langages, donc des familles de logiques : la famille ML (Caml, OCaml, …), la famille LISP (LISP, Scheme, …), la famille « script CGI » (PHP, Perl, Python parfois, …), etc.
Pour te donner un exemple : PHP n'est pas approprié pour résoudre des équations car il ne sait pas du tout comment faire, alors que Caml, lui, a déjà tout pour résoudre ça. Il sait très bien géré la récursivité (elle est optimisée), il a un typage inductif, qui se prête très bien aux équations justement, une gestion de mémoire différente, etc.
Un typage inductif c'est vachement sympa (mais je ne sais pas comment s'est codé, j'ai pas encore tout compris). C'est une autre façon de traiter les données, et c'est là toute la finesse de ce langage. PHP a un typage faible, il ne peut pas travailler sur des expressions (au sens Mathématiques), ou sinon, il faudrait faire de l'objet et ce serait très lourd.
En Prolog (pour faire de l'Intelligence Artificielle — IA —), on a le [i]back-tracking[/i] qui est implémenté dans le langage. Encore une fois, rares sont les langages qui ont ceci car c'est peu utile, sauf dans le cas de l'IA où c'est pratiquement un des fondements.
Calimero a bien résumé ça. Je complète (ou insiste) en disant qu'il faut déjà connaître son problème et ensuite utilisé l'outil adapté. L'outil c'est le langage. On va lire le mode d'emploi, c'est sûr, mais ce n'est pas parce qu'on connaît tous les outils qu'on sait résoudre tous les problèmes. Ça n'a pas de sens.
En fait, on parle de [url=http://fr.wikipedia.org/wiki/Paradigme_%28programmation%29]paradigme de programmation[/url], c'est tout à fait le mot que je cherchais.