« Programmation C/Bibliothèque standard » : différence entre les versions
mAucun résumé des modifications |
mAucun résumé des modifications |
||
Ligne 5 : | Ligne 5 : | ||
Espérer concevoir une application d'envergure avec ces seules fonctions nécessite une extrême rigueur. Il est plus que conseillé de se tourner vers des bibliothèques de plus haut niveaux, afin d'alléger votre labeur. Il en existe heureusement beaucoup, mais bien évidemment rien de standard et dont l'énumération exhaustive est hors de la portée de cet ouvrage. |
Espérer concevoir une application d'envergure avec ces seules fonctions nécessite une extrême rigueur. Il est plus que conseillé de se tourner vers des bibliothèques de plus haut niveaux, afin d'alléger votre labeur. Il en existe heureusement beaucoup, mais bien évidemment rien de standard et dont l'énumération exhaustive est hors de la portée de cet ouvrage. |
||
Qui plus est, un point particulièrement sensible en C est la gestion correcte, exhaustive et pertinente des erreurs. Il s'agit d'un point à ne pas sous-estimer : mélanger |
Qui plus est, un point particulièrement sensible en C est la gestion correcte, exhaustive et pertinente des erreurs. Il s'agit d'un point à ne pas sous-estimer : mélanger les cas exceptionnels (erreurs) qui seront exécutés dans 10% des cas, dans le code nominal qui le sera 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 (variable <code>errno</code>). 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. |
Version du 19 décembre 2004 à 05:24
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 vont suivre, peuvent paraitre archaïques, bien qu'issues d'une époque où l'optimisation primait grandement sur la simplicité d'utilisation.
Espérer concevoir une application d'envergure avec ces seules fonctions nécessite une extrême rigueur. Il est plus que conseillé de se tourner vers des bibliothèques de plus haut niveaux, afin d'alléger votre labeur. Il en existe heureusement beaucoup, mais bien évidemment rien de standard et dont l'énumération exhaustive est hors de la portée de cet ouvrage.
Qui plus est, un point particulièrement sensible en C est la gestion correcte, exhaustive et pertinente des erreurs. Il s'agit d'un point à ne pas sous-estimer : mélanger les cas exceptionnels (erreurs) qui seront exécutés dans 10% des cas, dans le code nominal qui le sera 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 (variable errno
). 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.