[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS et Bruit et Digression] Re: Lutter contre le Spam: (par les trolls?)



On Fri, May 23, 2003 at 02:48:05PM +0000, François Boisson wrote:
> On Fri, 23 May 2003 13:24:26 +0200
> Sven Luther <sven.luther@wanadoo.fr> wrote:
> 
> > On Fri, May 23, 2003 at 10:46:06AM +0100, Yves Rutschle wrote:
> > > Bien sûr, dans le cas de (par exemple) C++, C, Perl, et sans
> > > doute Python, on reste dans les même familles de langages.
> > > Ocaml est basé, si je me souviens bien, sur Lisp, et je ne
> > > pense pas que je me permettrais d'aller juger un programme
> > > dans cette famille (vu les difficultés que j'ai à écrire le
> > > plus simple script Gimp).
> > 
> > A non, tu ne peut pas comparer Lisp et Ocaml uniquement parcequ'il sont
> > fonctionnel. C'est comme comparer du java et de l'assembleur. Ocaml est
> > beaucoup plus lisible que du lisp, et la theorie veut qu'il soit aussi
> > plus facile a apprendre par un neophyte que n'importe lequel des
> > langages procueduraux.
> 
> Pas tout à fait, LISP est fonctionnel non typé, Ocaml ets fonctionnel et
> typé. Il y a des cas où LISP est mieux adapté. Le problème est qu'un
> langage non typé ou faiblement typé rend le débuggage (débuguage ?)
> beaucoup plus délicat.
> 
> > De plus, ocaml n'est pas base sur Lisp, mais tout les deux sont base sur
> > le lambda-calcul, comme les langages proceduraux sont base sur la
> > machine de turing.
> 
> Turing est un modèle de ce que fait un ordinateur à mémoire infini, mais
> pas un langage ni une façon de procédé. Les langages procéduraux (ou

Mmm, moi on m'avait appris qu'il existait 2 grandes theorie de la
programmation, l'une base sur le modele de turing, et qui a donnee
naissance aux langages imperatifs ou proceduraux (si tu reflechi bien,
la machine de turing, c'est une pile d'execution, et une machine qui
effectue des operations dessus), et l'autre base sur la theorie du
lambda-calcul. Il est prouve que les deux sont exactement equivalente,
dans le sens que l'on peut programmer exactement les memes programmes
dans les deux theories, ni plus ni moins. Ensuite il y a les langages
logiques (essentiellement prolog) qui forment une autre famille de
langages, elle aussi equivalente aux deux precedentes.

> impératifs je les appelle plutôt comme cela sans savoir vraiment pourquoi)
> sont des langages inspirés par l'algorithmie et les notations
> algorithimques. Le premier étant Fortran.

Donc tu ne pense pas que les langages proceduraux ou imperatifs sont en
fait base sur la theorie de la machine de turing ?

> L'assembleur n'est pas un langage évolué. A ceci se mèle une histoire de
> génération de langages, moins intéressante à mon avis (et que je ne
> connais pas).

Certains diront que le C est a peine plus evolue.

> Après, c'est comme pour le reste, l'occasion fait le larron et on ne jure
> plus que par les langages qu'on connait bien....

Oui, bien qu'il y a des langage que je connait, mais auquel je ne
retoucherai pas, meme avec des pincettes.

>  Amicalement et désolé pour le bruit

Pour en revenir a quelque chose d'un peu moins hors sujet, ce qui fait
de ocaml un langage plus sur pour un certains nombre d'application,
comme la detection des spams par exemple, c'est qu'il est theoriquement
impossible qu'un logiciel ecrit en ocaml plante avec un runtime error,
grace au systeme de typage qui detecte ce genre de problemes au moment
de la compilation, et que les trous de securite classique du style
buffer overrun sont aussi impossible (car ocaml teste les limites des
tableaux par exemple), tout en restant dans un cadre de performance
acceptable (un facteur de 2 au plus par rapport au meme code en C au
pire), bien plus que ce que l'on obtiendrait en perl par exemple, et
spamassassin est oblige de recourir a wrapper C pour ne pas etre trop
lourd, wrapper C que la doc deconseille d'utiliser dans les cas ou la
securite est critique.

Amicalement,

Sven Luther



Reply to: