On Mon, Aug 04, 2003 at 03:16:22PM +0100, Yves Rutschle wrote:
> On Mon, Aug 04, 2003 at 01:57:27PM +0200, Sven Luther wrote:
> > Avec uniquement cela, et la beta-reduction comme regle de calcul :
> >
> > \x.A B => A[x<=B] (A ou tous les x ont ete remplace par B).
> >
> > Tu peut exprimer tout les programmes exprimable.
>
> Il me *semble* que �a revient � ce que je disais: on peut
> appliquer des fonctions � d'autres fonctions (ce qu'on ne
> peut faire en C). Je devrais en savoir plus d�s que j'ai le
> temps de lire ce livre que j'ai re�u r�cement ("Applications
> en OCaml").
A, je vois que tu est sur la bonne voie. Certains disent que ocaml est
le derniers langage qu'on apprend, mais bon, comme c'est les auteurs de
ocaml :)))
> > Une autre maniere de voire la difference entre les deux types de
> > langages, c'est que dans un langage fonctionnel on s'interesse a decrire
> > ce que les expressions et fonctions sont, alors qu'un langage imperatif
> > s'interesse a comment elle seront execute.
>
> Je vois ce que tu veux dire, mais �a me parait faux: si on
> restreint le C l�g�rement (en interdisant les effets de
> bords par exemple) on retombe sur un langage qui "d�crit les
> expressions" plut�t qu'un langage qui d�crit la "recette"
> (faire ceci, puis cela).
Non, je suis pas convaincu. Si tu regarde le langage C, et surtout la
compilation qui a lieu derriere, tu verra la difference. Ceci dis, je
sais que Felix par exemple, est un langage fonctionnel avec une syntax a
la C. Je doute que les programmeur de C pur et dur ne le reconnaissent
cependant.
> Peut-�tre la classification n'est-elle pas tr�s importante.
Je pense que la syntaxe exacte n'est pas tres importante, bien que ocaml
soit repute pour produire du code 10 fois plus court que l'equivalent
C/C++ tout en restant lisible, mais que la maniere de la traiter
derriere montre bien la difference entre les familles de langages.
Amicalement,
Sven Luther