Le typage statique ne suffit pas. Dans le cas d'OCaml (ou même C++, si tu respectes les règles et que tu ne fais pas des transtypages barbares style C) tu as non seulement un typage statique, mais surtout un typage fort. Je ne pense pas que ton expérience avec OCaml serait la même si l'un de ces deux aspects n'était pas présent.
Un exemple pour illustrer : le langage C a un typage statique. Techniquement on peut dire que le typage est fort (tous les transtypages ne sont pas autorisés implicitement), mais il est malgré tout extrêmement permissif pour stocker une valeur d'un type T1 dans une variable de type T2. N'importe quel développeur un peu expérimenté te dira qu'il faut utiliser ton compilateur de façon à ce qu'il ait les warnings au maximum, si possible qu'il considère les warnings comme des erreurs, etc., car le langage lui-même n'impose pas cela, et donc il faut se reposer sur le compilateur pour ajouter ces fonctionnalités.
[^] # Re: Go ?
Posté par lasher . En réponse au journal Java (EE) Sapu cépalibre.. Évalué à 5.
Le typage statique ne suffit pas. Dans le cas d'OCaml (ou même C++, si tu respectes les règles et que tu ne fais pas des transtypages barbares style C) tu as non seulement un typage statique, mais surtout un typage fort. Je ne pense pas que ton expérience avec OCaml serait la même si l'un de ces deux aspects n'était pas présent.
Un exemple pour illustrer : le langage C a un typage statique. Techniquement on peut dire que le typage est fort (tous les transtypages ne sont pas autorisés implicitement), mais il est malgré tout extrêmement permissif pour stocker une valeur d'un type T1 dans une variable de type T2. N'importe quel développeur un peu expérimenté te dira qu'il faut utiliser ton compilateur de façon à ce qu'il ait les warnings au maximum, si possible qu'il considère les warnings comme des erreurs, etc., car le langage lui-même n'impose pas cela, et donc il faut se reposer sur le compilateur pour ajouter ces fonctionnalités.