Pourquoi ne pas directement tout faire en C++ ?
A chaque problème son langage. Pourquoi des logiciels comme Blender propose d'intégrer des plugin en les codant en Python ?
Les raisons d'avoir une couche application codée dans un langage de haut niveau (supérieur à C++) sont nombreuses :
- Extension du logiciel : créé des plugins dans ce langage est plus simple que de plonger la tête dans le code source C++ ;
- Séparation des fonctionnalités : la bibliothèque C++ d'un coté (pour les perfs) et l'appli caml de l'autre (pour la faciliter de développement) ;
- prototypage rapide et debugage facile (langage interprété) ;
- syntaxe proche du problème : comme je l'ai déjà dit, le langage s'adapte au problème et non l'inverse ;
- du code caml reste beaucoup plus lisible que du code C++ (c'est mon avis personnel ;-) ;
- caml est plus facile à apprendre et plus intuitif que le C++ ;
- portabilité (disons que moins il y a de code C++, plus le code est facilement portable) ;
- caml propose des mécanismes par défaut très pratique, en particulier les flots qui permettent d'écrire des parser en quelques lignes (et comme par hasard mon appli a besoin de parser)
En gros pour résumer, la couche application est essentiellement fonctionnele, peut être objet, proche des mathèmatiques (implémentation de modéle). Donc exit le C++, un langage fonctionnel est beaucoup plus adapté.
[^] # Re: Choix d'un langage de programmation
Posté par Anonyme . En réponse au journal Choix d'un langage de programmation. Évalué à 2.