• [^] # OCaml (difficulté d'apprentissage)

    Posté par . En réponse à la dépêche Langages et performances : les Français à l'honneur !. Évalué à 3.

    Faut quand même pas exagérer... Ce qui fait que OCaml a cette réputation de "langage difficile" c'est :

    - la plupart du temps il ne ressemble pas aux langages que les programmeurs connaissent. Ils sont habitués à passer d'un langage impératif à l'autre sans trop de difficulté, et là forcément c'est plus éloigné,

    - les élèves apprennent souvent Caml dans un cours de programmation fonctionnelle où le prof leur parle de lambda-calcul. L'accent est mis sur l'aspect fonctionnel, et tout ce que l'on peut faire de tordu (et de génial) avec. Mais Caml est aussi un langage impératif que l'on peut utiliser sans aucun problème comme tel, et c'est aussi un langage objet sans imposer les objets.

    - OCaml est un langage multiparadigme. En java il suffit de maîtriser les objets et on ne se pose pas la question de les utiliser ou pas. Si l'on veut maîtriser "tout" OCaml, il faut connaître la programmation objets, mais aussi fonctionnelle, et il y a aussi des tas de notions auxquelles on n'est pas habituées (inférence de types, préprocesseur, etc)

    Et il ne faut pas oublier que tout ce qu'apporte Caml permet de programmer beaucoup plus sûrement que la plupart des autres langages, ce qui signifie que le travail de débogage sera énormément réduit. Quand on a l'habitude de programmer en Caml, on a du mal à revenir vers le C ou tout autre langage moins évolué...