Heu... on est au 21ème siècle, c'est un peu ridicule de considérer un langage sans tenir compte de sa bibliothèque standard. On peut bien sûr réécrire un runtime différent depuis zéro, mais ce n'est certainement pas l'usage favorisé par l'écosystème.
Le probème ici c'est que justement la bibliothèque standard du C n'est pas vraiment ce qu'on appelle un runtime au 21 siècle. Elle propose à peu près rien comme fonctions par rapport à ce que l'on attend maintenant d'un runtime.
Donc le runtime du C c'est plus d'autre bibliothèques haut niveau et bien plus complètes. Donc dans ce cas la stdlib c'est juste une couche très bas niveau pour astraire le minimum du système et donc il y a dedans beaucoup de fonctions qui n'on rien à y faire.
Elle à donc bien le cul entre de chaise, pas vraiment un runtime et pas vraiment une bibliothèque minimaliste.
Là le problème ce n'est pas que les gens (en général) font n'importe quoi, c'est que c'est la bibliothèque standard qui fait n'importe quoi depuis le début et qui encourage le reste des développeurs à s'appuyer là-dessus (ainsi que sur les autres couches optionnelles qui sont venues s'ajouter à la dite bibliothèque standard).
On est d'accord sur le fait que la stdlib fait n'importe quoi depuis le début ; par contre je ne suis pas sur que l'on soit d'accord sur le n'importe quoi en question ;-)
Pour moi il n'y a aucun problème pour qu'elle gère les chaines de caractère en les terminant pas un zero (revenons au débat initial) par contre, il y a un gros problème quand elle commence à proposer des fonctions qui ne devrait pas être de son ressort et qui utilisent cette convention aussi alors que de manière générale c'est rarement la meilleure.
Mais il y a de la faute des utilisateurs eux aussi. Tout le monde sait qu'il y a beaucoup de cas ou ce n'est pas optimal, qu'il y a moyen de faire mieux et même que des libs existent pour faire mieux. Mais une grosse majorité des utilisateurs continue de suivre cette convention.
[^] # Re: Humm...
Posté par beagf . En réponse à la dépêche Sortie de la version 2.11 de la bibliothèque standard C GNU (glibc). Évalué à 2.
Le probème ici c'est que justement la bibliothèque standard du C n'est pas vraiment ce qu'on appelle un runtime au 21 siècle. Elle propose à peu près rien comme fonctions par rapport à ce que l'on attend maintenant d'un runtime.
Donc le runtime du C c'est plus d'autre bibliothèques haut niveau et bien plus complètes. Donc dans ce cas la stdlib c'est juste une couche très bas niveau pour astraire le minimum du système et donc il y a dedans beaucoup de fonctions qui n'on rien à y faire.
Elle à donc bien le cul entre de chaise, pas vraiment un runtime et pas vraiment une bibliothèque minimaliste.
Là le problème ce n'est pas que les gens (en général) font n'importe quoi, c'est que c'est la bibliothèque standard qui fait n'importe quoi depuis le début et qui encourage le reste des développeurs à s'appuyer là-dessus (ainsi que sur les autres couches optionnelles qui sont venues s'ajouter à la dite bibliothèque standard).
On est d'accord sur le fait que la stdlib fait n'importe quoi depuis le début ; par contre je ne suis pas sur que l'on soit d'accord sur le n'importe quoi en question ;-)
Pour moi il n'y a aucun problème pour qu'elle gère les chaines de caractère en les terminant pas un zero (revenons au débat initial) par contre, il y a un gros problème quand elle commence à proposer des fonctions qui ne devrait pas être de son ressort et qui utilisent cette convention aussi alors que de manière générale c'est rarement la meilleure.
Mais il y a de la faute des utilisateurs eux aussi. Tout le monde sait qu'il y a beaucoup de cas ou ce n'est pas optimal, qu'il y a moyen de faire mieux et même que des libs existent pour faire mieux. Mais une grosse majorité des utilisateurs continue de suivre cette convention.