Ce qui ne revient pas au même que de dire que le C n’est pas portable, nom d’une pipe en bois !
Je crois qu'au fond on est d'accord, le problème c'est que le commentaire initiale qui a conduit à cette dicussion disait explicitement que tout code écrit en C était portable, ce qui est largement faux, bien au contraire. Il faut mieux se dire : le C n'est pas portable, j'ai intérêt de faire gaffe à éviter toutes les constructions du langage qui ne le sont pas si je veux un code indépendant de la machine ; que de croire, comme l'exposait nicolas, ce que lui ont dit ses professeurs : "le C est portable, il a été conçu pour, j'ai jamais eu de problème, donc c'est vrai".
Si c’est juste pour dire que le C est un langage beaucoup, beaucoup moins neuneu-proof que Java, je suis d’accord.
C'est plutôt pour dire : warning, si vous voulez faire du code portable, le C n'est pas forcement le plus adapté car il demande un certain nombre d'effort pour y arriver, sans aucune garantie au final, d'autres langages t'offre des garanties et ont vraiment été conçu dans ce sens.
Sans parler du fait qu'on parle d'une seule forme de portabilité, celle du source : le langage C implique pourtant la compilation dans un binaire qui n'est pas portable, qui ne garantie pas l'interopérabilité binaire entre compilateurs, etc. Autant de problématiques plus ou moins liées qui ont conduit à la création de langages comme Java ou C# : de vrais abstractions du matériel (avec d'autres inconvénients on est d'accord).
[^] # Re: Bonne nouvelle
Posté par TImaniac (site web personnel) . En réponse à la dépêche Que penser du rachat de Novell ?. Évalué à 2.
Je crois qu'au fond on est d'accord, le problème c'est que le commentaire initiale qui a conduit à cette dicussion disait explicitement que tout code écrit en C était portable, ce qui est largement faux, bien au contraire. Il faut mieux se dire : le C n'est pas portable, j'ai intérêt de faire gaffe à éviter toutes les constructions du langage qui ne le sont pas si je veux un code indépendant de la machine ; que de croire, comme l'exposait nicolas, ce que lui ont dit ses professeurs : "le C est portable, il a été conçu pour, j'ai jamais eu de problème, donc c'est vrai".
Si c’est juste pour dire que le C est un langage beaucoup, beaucoup moins neuneu-proof que Java, je suis d’accord.
C'est plutôt pour dire : warning, si vous voulez faire du code portable, le C n'est pas forcement le plus adapté car il demande un certain nombre d'effort pour y arriver, sans aucune garantie au final, d'autres langages t'offre des garanties et ont vraiment été conçu dans ce sens.
Sans parler du fait qu'on parle d'une seule forme de portabilité, celle du source : le langage C implique pourtant la compilation dans un binaire qui n'est pas portable, qui ne garantie pas l'interopérabilité binaire entre compilateurs, etc. Autant de problématiques plus ou moins liées qui ont conduit à la création de langages comme Java ou C# : de vrais abstractions du matériel (avec d'autres inconvénients on est d'accord).