> le code ANSI C est toujours portable
J’ai une mauvaise nouvelle à t’annoncer : depuis le début, tu te bats contre un homme de paille.
Qui ici a dit que le C était toujours portable ?
> si je trouve un exemple, tu vas dire que la fonctionnalité est mal codée.
Ben voyons. Dire que caster les void* en int et vice-versa c’est mal coder (c’est un des premiers exemple de ton lien), c’est être de mauvaise foi ?
J’en déduis donc que chez toi c’est une bonne pratique de caster les pointeurs en entier ?
> car la norme en soit ne garantie pas un code portable
Je crois que tu n’as pas compris un truc. C est un langage qui a comme principe d’être très laxiste, qui t’autorise à faire d’énorme conneries. Java est un langage au contraire beaucoup plus strict. Donc oui, tu peux faire d’énormes conneries qui t’empêcheront d’être portables en C et pas en Java. De là à dire qu’un programme écrit normalement en C n’est pas portable, il y a un gouffre que je ne peux voir franchi sans réagir.
Je vais te faire une image : Java ne peut pas te garantir formellement que ton programme est conforme à sa spécification (le C ne peut te garantir la portabilité), contrairement à certains langages issus de la recherche. Quelle est la bonne chose à en déduire ?
- Java ne permet pas de faire du code correct (le C n’est pas portable)
- Si tu veux réussir à remplir ton cahier des charges, il faut suivre des bonnes pratiques (si tu veux être portable, il faut suive des bonnes pratiques)
[^] # Re: Bonne nouvelle
Posté par Moonz . En réponse à la dépêche Que penser du rachat de Novell ?. Évalué à 2.
J’ai une mauvaise nouvelle à t’annoncer : depuis le début, tu te bats contre un homme de paille.
Qui ici a dit que le C était toujours portable ?
> si je trouve un exemple, tu vas dire que la fonctionnalité est mal codée.
Ben voyons. Dire que caster les void* en int et vice-versa c’est mal coder (c’est un des premiers exemple de ton lien), c’est être de mauvaise foi ?
J’en déduis donc que chez toi c’est une bonne pratique de caster les pointeurs en entier ?
> car la norme en soit ne garantie pas un code portable
Je crois que tu n’as pas compris un truc. C est un langage qui a comme principe d’être très laxiste, qui t’autorise à faire d’énorme conneries. Java est un langage au contraire beaucoup plus strict. Donc oui, tu peux faire d’énormes conneries qui t’empêcheront d’être portables en C et pas en Java. De là à dire qu’un programme écrit normalement en C n’est pas portable, il y a un gouffre que je ne peux voir franchi sans réagir.
Je vais te faire une image : Java ne peut pas te garantir formellement que ton programme est conforme à sa spécification (le C ne peut te garantir la portabilité), contrairement à certains langages issus de la recherche. Quelle est la bonne chose à en déduire ?
- Java ne permet pas de faire du code correct (le C n’est pas portable)
- Si tu veux réussir à remplir ton cahier des charges, il faut suivre des bonnes pratiques (si tu veux être portable, il faut suive des bonnes pratiques)