« Programmation C/Bibliothèque standard » : différence entre les versions

Contenu supprimé Contenu ajouté
Tpierron (discussion | contributions)
Aucun résumé des modifications
(Aucune différence)

Version du 18 décembre 2004 à 19:43


La bibliothèque standard du langage C n'est pas ce qui se fait de mieux en la matière. Contrairement au C++, les fonctions proposées sont relativement pauvres, surtout en ce qui concerne la gestion des chaines de caractères. Comparé à un langage tout en un, comme Python, Ruby, C# ou Java, les fonctions qui suivent, peuvent paraitre archaïques, issues d'une époque où l'optimisation primait gradement sur la simplicité d'utilisation.

Espérer concevoir une application d'envergure avec ces seules fonctions est extrêmement pénible. Il est plus que conseillé de se tourner vers des bibliothèques de plus haut niveaux. Il en existe heureusement beaucoup, mais bien évidemment rien de standard et dont la seule énumération nécessiterait un ouvrage entier.

Qui plus est la gestion correcte, exhaustive et pertinente des erreurs est un point à ne pas sous-estimer. Un bon algorithme devrait idéalement traiter d'abord les cas normaux, puis les cas exceptionnels (typiquement les cas d'erreurs). Mélanger le code qui sera exécuté dans 10% des cas, dans le code qui sera exécuté dans 90% des cas, donne une impression confuse et difficile à appréhender de la structure du programme. Hélas, non seulement le C n'offre aucun moyen pour gérer efficacement ce problème (pas de mécanisme d'exception), mais les codes d'erreurs sont au mieux non-standard (différent d'une fonction à l'autre), au pire très pénible à exploiter. La structure de votre programme en sera forcément impactée, un des défis les plus difficiles à surmonter en C, sera de le garder lisible.