Je ne vais pas passer trois heures à vous présenter le caml vous avez déjà tous du écouter bluestorm moi je vais vous donner des exemples (des vrais) de la supériorité du caml sur les langages impurs.
Celà va d'un simple "hello world ! " à un bot irc §§

Les différents exemples


        "Hello, World !"
Code ocaml :
print_string "Hello, World !"
Code C:
#include 
#include 
int main(int argc, char *argv[])
{
printf("Bonjour");
return 0;
}
La lourdeur d'un langage impératif/impur n'est pas à démontrer plus avant sur cette exemple on va donc passer au suivant si vous le voulez bien !

        Un algorithme de cryptage simple : le césar
Le code en ocaml :
let rec replace crypted initial cle i long=
if i >= long then crypted
else
let cc = Char.chr (cle + Char.code initial.[i]) in
let sc = String.make 1 cc in replace (crypted ^ sc) initial cle (i+1) long
;;

let encrypt (mot: string) (cle: int) =
let long = String.length mot in
(replace "" mot cle 0 long)
;;

let string = read_line() in
let cle = read_int ()in
print_endline (encrypt string cle)
Le code en C :
#include 
#include 
#include 
#define MAX_BUF 50
void encrypt (char *chaine, int cle)
{
char *p;
for (p=chaine; *p != '\0'; ++p)
{
if(isalpha(*p+cle))
*p += cle;
}
printf ("%s\n", chaine);
}
void clear(char* s, FILE* buffer)
{
char *p = NULL;
if((p = strchr(s, '\n')) != NULL)
*p = '\0';
else
while(getc(buffer) != '\n');
}
int main(int argc, char *argv[])
{
char chaine[MAX_BUF];
int cle;
fgets (chaine, MAX_BUF - 1, stdin);
clear(chaine, stdin);
scanf("%i", &cle);
encrypt (chaine, cle);
return 0;
}
Une fois de plus le code C est plus long que le code en ocaml §§

        Conway's game of life
Le code en ocaml : jeu_de_la_vie.ml
Le code en C : jeu_de_la_vie.c (merci à Cygal pour ce code gracieusement fournis, il ne se doutais pas de ce à quoi allait servir sinon je ne l'aurais surement jamais eu en fait :p)
Concernant le code de Cygal vous pouvez enlever si vous le souhaitez tous les beaux commentaires qui ne servent à rien dans le contexte de cet article il n'en demeurera pas moins plus long, après certains pourront dire qu'il est mieux, le rendu plus jolie, etc etc mais reconnaissez que tous ces commentaires seraient dénués de bonne fois :p (tous comme ce billet ? :-° )

        Le bot IRC
Euh ... disons qu'on en parlera à l'occasion d'un autre article :D

Conclusion:


Bon vous direz que ce billet pue (mais bon on a vu pire hein :p ) et que y'a des langages surement mieux que le caml mais sans exemples concrets vous resterez sous sa domination (mouhahahaha ? :-° ) si jamais vous avez envie de rajouter des exemples en python, en ruby voir en Obj-C n'hésitez pas à éditer ce billet à me les passer afin que je les soumettent à la censure/dégradent/refuse.
Merci de votre attention.
Vous pouvez désormais fermer votre navigateur et reprendre une activité normale ... :p

PS: je promet de trouver une vrai idée pour les autres billets et de les rédiger un tant soit peu :p
PS 2: Et dire que j'ai emmerdé Poulet toute la journée pour ce billet, quand il va le voir il va être deg :D