الخميس، 15 سبتمبر 2011

L'OBJECTIF

Le but de ce site est de prendre un peu de recul par rapport aux langages
de programmation, de d´efinirr des crit`eres permettant de les comparer, de
mettre en ´evidence les choix fondamentaux faits pour chacun d’eux et la
coh´erence interne qu’ils d´eveloppent `a partir de ces choix fondamentaux.
Les principaux langages consid´er´es seront c, java et caml. Des r´ef´erences `a
d’autres langages comme pascal, c++, Objective c et scheme pourront
ˆetre faites ponctuellement.
Une fa¸con traditionnelle de classifier ces langages consiste `a dire que pascal
et c sont des langages proc´eduraux, que c++, Objective c et java sont
des langages `a objets et que scheme et caml sont des langages fonctionnels.
Cependant, d’autres crit`eres permettent des classifications diff´erentes.
Par exemple, java, scheme et caml ont en commun la particularit´e de fonctionner
avec un r´ecup´erateur automatique de m´emoire (garbage collector).
Cela leur permet d’utiliser implicitement des pointeurs sans que l’utilisateur
ait `a se pr´eoccuper de g´erer directement ces pointeurs. La r´ecup´eration automatique
de m´emoire a de nombreuses cons´equences sur la repr´esentation
des structures de donn´ees. Par exemple, la taille des tableaux doit ˆetre une
information disponible dans leur repr´esentation `a l’ex´ecution.
Si on se place du point de vue de la structure de blocs et en particulier de
l’emboˆıtement des d´efinitions de fonctions ou de proc´edures, alors on est
amen´e `a rapprocher pascal de scheme et caml puisque ces langages sont
les seuls `a autoriser des d´efinitions emboˆıt´ees qui n´ecessitent des m´ethodes
sp´ecifiques de traitement des variables libres dans les corps de fonctions
(liens statiques, displays ou fermetures).
Enfin, si on se place du point de vue de la dynamique des programmes et
des d´ecisions qui peuvent ˆetre prises `a l’ex´ecution, alors on est amen´e `a
rapprocher scheme et les langages `a objets comme java ou Objective c.
scheme permet le test dynamique de type et java et Objective c le test
dynamique d’appartenance `a une classe.
De nombreux autres crit`eres de comparaison peuvent ˆetre envisag´es permettant
d’autres rapprochements et d’autres distinctions. Ce qui est int´eressant
est pr´ecis´ement de pouvoir mettre en ´evidence les choix qui interviennent

dans la conception d’un langage et les cons´equences de ces choix. Pour cela, il
faut tout d’abord pr´eciser comment on peut d´ecrire un langage de programmation
dans tous ses aspects syntaxiques et s´emantiques

source : Université Denis Diderot 

ليست هناك تعليقات:

إرسال تعليق