Les Langages > C et C++

Description des langages

Le C est un langage de programmation impératif conçu pour la programmation système. Inventé au début des années 1970 avec UNIX, C est devenu un des langages les plus utilisés. De nombreux langages plus modernes comme C++, PHP et Java reprennent des aspects de C.

Le C++ est un langage de programmation permettant la programmation sous de multiples paradigmes comme, par exemple, la programmation procédurale, la programmation orientée objet et la programmation générique. C++ est actuellement le 3\ieme langage le plus utilisé au monde (le 1\ier si on le regroupe avec le C). Le langage C++ n’appartient à personne et par conséquent n’importe qui peut l’utiliser sans payer de droits.

En langage C, "++" est l’opérateur d’incrémentation, c’est-à-dire l’augmentation de la valeur d’une variable de 1. C’est pourquoi C++ porte ce nom : cela signifie que C++ est un niveau au-dessus du C. Il existe de nombreuses bibliothèques C++ en plus de celle qui est incluse dans la norme. Par ailleurs, C++ permet l’utilisation de l’ensemble des bibliothèques C existantes.

Cet "enrichissement" d’un langage à l’autre fait qu’ils sont relativement compatibles entre eux. En effet, il est tout à fait possible dans du code C++ de faire des appels à du code écrit en C pur. Cependant, l’inverse n’est pas tout le temps vrai du fait de l’approche "objet" du langage C++ n’existant pas dans le langage C (entre autres choses). C’est pourquoi dans les bibliothèques, nous pouvons faire un regroupement de celles que nous dirons "Compatibles C et C++" et celles "Pures C++".

Les bibliothèques concernées

Compatibles C et C++

Pures C++

Conclusion

Mis à part les quelques bibliothèques "utilitaires" comme SQLite ou libXML, nous pouvons constater le grand nombre de bibliothèques permettant de faire du traitement et de l’analyse d’image. Ce constat montre que chacun a ses préférences mais aussi la grande diversité existante dans ce domaine. Nous pouvons retenir une certaine attention à la bibliothèque CImg qui est simple, bien documentée, légère et surtout fournit un système de plug-in permettant de profiter de fonctionnalité d’autres bibliothèques dans le cas où ces fonctionnalités manqueraient à la CImg. Par ailleurs, celle-ci peut-être une bonne base pour développer des outils "maison" comme plug-in à celle-ci. D’une façon plus générale, il faut noter que l’inter-opérabilité entre les bibliothèques n’est pas évidente et est à prendre en compte sérieusement lors du choix d’une ou plusieurs de celles-ci.

publie le mardi 14 avril 2009