OCaml

La naissance de OCaml

--

OCaml est un langage de la famille ML (Meta Language, langage généraliste fonctionnel). La notion de ML est apparu dans les années 1970. L’intérêt c’était de trouver un moyen de prouver qu’un programme fonctionne correctement. Avec ML cette garantie repose pas seulement sur des tests mais aussi sur des théorèmes. Pendant les années 1980, on commence à implementer les concepts de ML de manière plus efficace. C’est la naissance de Caml (Categorical Abstract Machine Language) qui avait pour but d’être utilisé pour le développement des systèmes coq. Plus tard, Caml évolue et Objective Caml apparaît. Il s’agit du résultat de la combinaison de la puissance de la programmation par objets avec un typage statique dans le style de ML.

Qu’est ce que c’est OCaml?

Ocalm est un language de programmation avec une couche orientée objets complète et possède un système de modules paramétrés. Il est utilisé comme un langage fonctionnel mais aussi comme un langage impératif. Ceci permet de choisir et combiner les paradigmes selon les besoins. Il est caractérisé par sa sécurité grâce à son typage statique et sa gestion d’erreurs. L’avantage de OCalm par rapport aux autres languages de programmation de type “scripting” c’est que son implementation est très efficace et l’execution est très rapide.

Pour quoi utiliser OCaml?

Il existe 4 principales avantages de l’utilisation de Ocalm:

-Il possède un système de types polymorphe avec inférence automatique des types (l’utilisateur ne fait pas de declaration de type).

-L’utilisateur peut définir des types de données algébriques

-Gestion automatique de la mémoire: Il utilise un GC (Garbage Collector)

-Sépare la compilation des applications “stand alone” (ou applications autonomes) : Ceci permet par exemple l’ interoperatibilité avec d’autres langages (en particulier le C) lorsque cela est nécessaire. C’est pourquoi en plus de ses nombreuses bibliothèques, il possède aussi les bibliothèques de C.

Qui utilise OCaml?

Ocalm possède un mécanisme d’exceptions et est souvent utilisé dans des grandes entreprises telles que Facebook, Docker and Bloomberg. En effet, il est souvent utilisé dans des entreprises dans laquelle une seule erreur peut être dévastatrice et dans laquelle la vitesse joue un rôle primordial. Sa simplicité facilite la expérimentation dans les projets qui utilisent une méthode agile. Il s’adapte donc facilement à des marchés qui ont tendance à changer régulièrement et permet de développer un système de production à partir d’un prototype avec moins d’efforts. En dehors des entreprises, Il est aussi utilisé comme un langage d’apprentissage.

Sources:

https://ocaml.org/

https://caml.inria.fr/about/history.fr.html

deptinfo.cnam.fr/new/spip.php?pdoc5404

--

--