Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

char const *foo vs const char *foo

33 réponses
Avatar
xylo
Tout est dans le sujet.

J'ai un doute... !? y a-t-il réellement une différence et si oui quel est
l'impacte sur le code ?

--
Apply rot13 to this e-mail address before using it.
JM Marino
http://jm.marino.free.fr

10 réponses

1 2 3 4
Avatar
-ed-
On 8 juin, 15:27, Hamiral wrote:
Maintenant si une bonne âme pouvait donner une explication claire,
compréhensible pour tous même ceux qui ne savent pas lire la norme, c e
serait super...



http://www.bien-programmer.fr/notes.htm#const
Avatar
candide
-ed- a écrit :
On 8 juin, 15:27, Hamiral wrote:
Maintenant si une bonne âme pouvait donner une explication claire,
compréhensible pour tous même ceux qui ne savent pas lire la norme, ce
serait super...



http://www.bien-programmer.fr/notes.htm#const





Je vois que ton site a subi à nouveau une remise en forme, le marketing a encore
frappé parce que pour ce qui est du contenu, rien de nouveau sous le soleil,
notre -ed- est fidèle à sa réputation d'austérité virile. Constante : ton sens
pédagogique (et en particulier ton empathie envers les néophytes) est toujours
aussi peu développé.

Je n'ai pas l'intention de te faire de cadeau, tu t'es montré particulièrement
désagréable, suffisant et arrogant sur ce forum pendant ma période
d'apprentissage (mon premier message sur ce forum était il y a 3 ans et 10
mois). Et surtout, les années ont passé et tu n'as pas su évoluer vers plus de
compréhension.

Faisons une petite analyse de ton "article" sur const, cf.
http://www.bien-programmer.fr/notes.htm#const


D'abord, en lisant l'article en question, on se dit que tu n'as pas compris que
l'utilisation de const est un des pires cauchemars du programmeur C débutant
voire confirmé (ie plusieurs mois d'apprentissage). Tes explications ne sont pas
à la hauteur de la difficulté. Mais entrons dans le détail.



---------------- 8< ------------------------
le qualificateur const
---------------- >8 ------------------------

Bon déjà, tu pourrais faire un effort concernant le vocabulaire. Tu te crois
suffisamment érudit pour pouvoir imposer ta propre terminologie ? Tu ne peux pas
prendre la peine d'examiner ce que d'autres ont envisagé comme choix de termes ?
"qualificateur" est un abominable néologisme et en violation de tous les usages
en français (usuellement, on utilise "qualificatif" ou "qualifieur").


---------------- 8< ------------------------
Il lui fait perdre sa qualité par défaut
---------------- >8 ------------------------
Non mais qu'est-ce que c'est que ce charabia ? Cette phrase est incompréhensible
et d'autant plus troublante qu'elle oppose les termes antinomyques "qualité" et
"défaut". Pourrais-tu abandonner ce style d'expression journalistique qui
consiste à essayer d'ébahir son lectorat en utilisant des formules creuses mais
qui font de l'effet ?


---------------- 8< ------------------------
Il lui fait perdre sa qualité par défaut qui est 'accessible en lecture ou en
écriture' pour le modifier en 'accessible en lecture seule'.
---------------- >8 ------------------------
Absolument incompréhensible si on n'est pas au parfum. Contente-toi de donner
des exemples bien choisis et tu seras beaucoup plus convaicant.



---------------- 8< ------------------------
Objets simples
---------------- >8 ------------------------

C'est quoi des "objets simples" ?




---------------- 8< ------------------------
int x = 3;
int const y = 4;

x = 5; /* acces en ecriture possible */
y = 6; /* acces en ecriture interdit */

Le compilateur signale l'erreur.
---------------- >8 ------------------------

Crois-en mon expérience d'ex-débutant qui n'a pas oublié d'où il vient :

-- donne un programme COMPLET (ie compilable)
-- numérote les lignes de tes programmes et dans tes commentaires généraux,
réfère-toi à la ligne correspondante au lieu de le faire de manière vague comme
tu le fais.
-- sois précis : "signale l'erreur" : quelle erreur ? quelle ligne ? As-tu
conscience qu'un lecteur débutant voire post-débutant n'a pas forcément
conscience que ton code est sur le point de décrire un comportement erroné et
interdit ? Contextualise ! Bref, le b-a-ba de la pédagogie.

---------------- 8< ------------------------
mais je conseille néanmoins la première forme, car elle est beaucoup plus claire
(notamment avec les pointeurs).
---------------- >8 ------------------------

Exemple typique de surcharge didactique : tu es en train d'expliquer la
sémantique de const et en fait tu décris la syntaxe et donc tu embrouilles ton
lecteur. En programmation, il existe un grand principe : la séparation. Applique
ce principe quand tu te livres à des explications didactiques.

---------------- 8< ------------------------
Il est techniquement possible de définir un objet const non initialisé :

int const c;
---------------- >8 ------------------------

Trop abstrait. Décontextualisé.




---------------- 8< ------------------------
évidemment, l'intérêt est limité,
---------------- >8 ------------------------
Tu n'expliques rien, tu te contentes d'un "évidemment", bien sûr que c'est
évident pour moi, AUJOUD'HUI, cela ne l'était nullement quand j'ai commencé le C
et même après 6 mois d'apprentissage (il y a tant de choses à apprendre et tout
le monde n'est pas Gabriel dos Reis).


---------------- 8< ------------------------
mais il a son application dans un contexte particulier : les paramètres de
fonctions.
---------------- >8 ------------------------

As-tu conscience que ce genre de phrase est totalement elliptique pour celui à
qui tu t'adresses et qui justement ne connait pas ? Tu fais jsute une allusion à
un contexte assez riche. Tu troubles ton lecteur plus que tu ne l'aides.
Conclusion : ou bien tu ne dis rien ou bien tu donnes un exemple contextualisé
et complet qui permet de comprendre là où tu veux en venir.


---------------- 8< ------------------------
puis qu'il
---------------- >8 ------------------------

Orthographe.


---------------- 8< ------------------------
puis qu'il y a en quelque sorte 2 objets pour le prix d'un !
---------------- >8 ------------------------

Merci d'éviter le phrasé journalistique inconsistant.


---------------- 8< ------------------------
Le cas des pointeurs est un peu plus complexe, puis qu'il y a en quelque sorte 2
objets pour le prix d'un !

* Le pointeur lui même qui peut être qualifié const
* L'objet pointé qui peut lui même être qualifié const
---------------- >8 ------------------------

Incompréhensible si on ne connait pas. Typique des explications de ton site et
plus généralement dans de celle qu'on trouve dans de nombreux livres
d'apprentissage du C (du C ou d'autres choses) mais t'emballe pas, t'es pas
encore capable décrire un ouvrage didactique sur le C. Ici encore, on décrit une
notion inconnue de l'intercoluteur par un discours ABSTRAIT qui en fait ne peut
être maitrisé que par une personne qui a expérimenté de nombreuses instances de
ces abstractions. Typique de l'enseignant qui n'a aucune ou peu d'empathie.


---------------- 8< ------------------------
Pour le pointeur, celui-ci étant un objet comme autre, la même règle s'applique,
sachant que const doit être placé juste avant l'identificateur, c'est à dire
après le dernier * :
---------------- >8 ------------------------

Heuseusement qu'un exemple suit car c'est imbittable tes abstractions. Imagine
que tu veuilles être en mesure de reconnaître le visage d'une personne que tu ne
connais pas. Quel élément descritif va être plus efficace à cette fin : avoir
une photo, même miniature genre photo d'identité ou d'avoir une description de
10 pages de tous les éléments du visage à la manière de Balzac, Zola ou Stendhal
? Choisis ton camp camarade !

---------------- 8< ------------------------
int a;
int * const pa = &a;

pa++; /* interdit */
*pa = 123; /* OK */
---------------- >8 ------------------------

Ton illustration avec pa++ est mal choisie, ce n'est pas la façon la plus
directe d'expliquer la nature const de pa. D'ailleurs, même sans le const ton
incrémentation est incorrecte, donc ton exemple n'est pas discriminant. Choisir
les exemples est capital et tu ne t'es jamais montré très doué pour ça.


---------------- 8< ------------------------
Mais un autre qualificateur const peut être utilisé pour préciser les droits du
pointeur sur l'objet pointé.
---------------- >8 ------------------------

Les "droits du pointeurs" ? Le pointeur ne parlera qu'en présence de son avocat.
Non mais vraiment n'importe quoi ce style journalistique, non seulement c'est
racoleur mais en plus ça n'explique rien voire ça obscurcit. Si ton but est
d'être didactique, c'est raté.


---------------- 8< ------------------------
int a = 123;
int const * pa = &a;
const int * pb = &a;
---------------- >8 ------------------------
Là encore quand je lis ton texte, je me rends compte que t'as rien compris aux
difficulté que le débutant rencontre avec const et les pointeurs : jamais tu
n'expliques vraiment et clairement la différence entre

const int *z;
int *const r;

Il est évident qu'il fallait accompagner les déclarations ci-dessus d'un exemple
des différentes actios interdites pour que le lecteur comprenne bien au lieu
d'écrire cette phrase absconse : "Ce qualificateur interdit la modification de
l'objet via le pointeur (mais s'il n'est pas lui même qualifié const, l'objet
reste modifiable directement, évidemment). "

---------------- 8< ------------------------
(mais s'il n'est pas lui même qualifié const, l'objet reste modifiable
directement, évidemment).
---------------- >8 ------------------------
Charabia incompréhensibe si on ne connait pas (aucun exemple, que du jargon
décontextualisé: "qualifié", "objet", "modifiable").

---------------- 8< ------------------------
int a = 123;
int const * pa = &a;

*pa = 456; /* interdit */
a = 456; /* OK */
---------------- >8 ------------------------

Le lecteur qui ne connait pas (c'est bien à lui que tu t'adresses, non ? ou
c'est un soliloque ?) ne voit pas où tu veux en venir et ce que tu veux montrer.


Quand tu écris de façon abstraite pour ne pas dire charabiesque :
---------------- 8< ------------------------
Par contre, attention. Il est techniquement possible de définir un pointeur sur
un objet qualifié const et de tenter de modifier l'objet. Cela produit un
comportement indéfini qui n'est pas forcément signalé par le compilateur.
---------------- >8 ------------------------

tu ne précises pas que l'exemple qui suit est une illustration de ce principe.
Tu n'as pas l'air d'avoir compris que const est un des pires cauchemars du
programmeur débutant ou post-débutant en sorte que tes explications devraient
être en rapport avec cette difficulté.


---------------- 8< ------------------------
Cependant, le plus souvent, le compilateur signale un problème au moment de
l'affectation du pointeur.
---------------- >8 ------------------------
Typiquement l'explication incomplète qui laissera sur sa faim (voire en colère)
la personne qui ne connait pas. Ça veut dire quoi "le plus souvent" ? Les jours
ouvrables ?

---------------- 8< ------------------------
mais il convient de rester extrêmement prudent. Le C est un langage qui demande
rigueur et maitrise.
---------------- >8 ------------------------
Boudha power!

---------------- 8< ------------------------
NOTA : Bien évidemment, le typecast n'est pas la solution :

int const a = 123;
int * pa = (int *) &a; /* NE PAS FAIRE CECI */
---------------- >8 ------------------------

Totalement incompréhensible car aucune contextualisation et en en plus
recommandation totalement dépourvue de nuance, il est assez courant que l'on
retourne par exemple d'une fonction avec un cast. Explication lamentable assez
typique de ce qu'on trouve sur ton site. Répète 50 fois : "smoothness".





---------------- 8< ------------------------
Usage

Le rôle du qualificateur const est particulièrement utile avec les pointeurs,
notamment sur des chaines de caractères, qui, rappelons le, ne sont pas
modifiables. Il est fortement recommandé de définir tout pointeur sur une chaine
de caractères avec le qualificateur const :

char const *p = "hello";

Il est utile aussi pour les pointeurs passés en paramètre à des fonctions. Il
permet en effet de restreindre l'accès à la variable pointée à un mode 'lecture
seule', ce qui évite bien des erreurs de codage. (La modification d'une variable
étant une opération lourde de conséquences si elle est faite au mauvais moment).

Une fonction qui affiche le contenu d'un tableau ou d'une structure, par
exemple, n'a pas à la modifier. On fixe donc les règles du jeu dès la définition
du prototype :

void display (T const *p)

Une utilisation astucieuse et intelligente du qualificateur const permet
d'écrire du code plus sûr.
---------------- >8 ------------------------

Réduire l'usage de const à ce que tu as écrit là est proprement indigent et
digne d'un amateur. Une fois de plus, ton sens pédagoqique est nul.

Alors tu reviens sur ta marotte

char const *p = "hello";

sans d'ailleurs expliquer comme il le faudrait l'intérêt que cela pourrait
avoir mais en laissant penser au passage que ta manièree de procéder est
obligatoire.

Que les chaînes de caractères ne soient pas modifiables est totalement
inexact (faut par confondre "chaine de caractères" et "chaine littérale").



---------------- 8< ------------------------
Il est utile aussi pour les pointeurs passés en paramètre à des fonctions. Il
permet en effet de restreindre l'accès à la variable pointée à un mode 'lecture
seule', ce qui évite bien des erreurs de codage. (La modification d'une variable
étant une opération lourde de conséquences si elle est faite au mauvais moment).
---------------- >8 ------------------------

Explications vagues et abstraites : lamentable alors que c'est un des points les
plus cauchemardesques de l'utilisation de const. Toute personne qui a passé du
temps à apprendre le C est tombé sur ce putain de warning :

attention : passing argument 1 of «f» discards qualifiers from pointer target type

Et tu n'en parles même pas. LAMENTABLE.


---------------- 8< ------------------------
Une fonction qui affiche le contenu d'un tableau ou d'une structure, par
exemple, n'a pas à la modifier. On fixe donc les règles du jeu dès la définition
du prototype :
void display (T const *p)

---------------- >8 ------------------------
Charabia incompréhensible sans exemple.


Aucun exemple sur les tableaux const. T'as pas conscience qu'un débutant peut
rester perplexe sur une déclaration comme :

const int t[42];

Qu'est-ce qui est const ? le tableau ou les valeurs du tableau x ? plutôt que de
donner des exemples abstrait qui n'apportent rien à ceux qui découvrent et ne
font que confirmer ce qu'ils savent à ceux qui savent, prends du TEMPS pour
choisir des EXEMPLES.


L'utilisation de const contient de nombreuses subtilités que ton article a à
peine évoqué. C'est bien simple tu n'as même pas évoqué l'exemple qu'avait
rapporté Pierre Maurette :

Donc dans
char const * const foo
ou
const char * const foo



et qui est très déroutant pour le débutant ou post débutant.


---------------- 8< ------------------------
Une utilisation astucieuse et intelligente du qualificateur const permet
d'écrire du code plus sûr.
---------------- >8 ------------------------
Le politiquement correct du C. Tu omets de signaler que l'usage et l'importance
de const en C sont très controversés.

Bref, ton article est indigent. Assez stupéfiant pour quelqu'un qui pratique le
C depuis 20 ans et les forums C depuis 10 ans.
Avatar
-ed-
On 10 juin, 04:08, candide wrote:
-ed- a écrit :
---------------- 8< ------------------------
 puis qu'il
---------------- >8 ------------------------

Orthographe.



Corrigé, merci.
Avatar
Ael Rowen Terence
"candide" a écrit dans le message de groupe de
discussion : 4a2f15b1$0$11790$
-ed- a écrit :
On 8 juin, 15:27, Hamiral wrote:
Maintenant si une bonne âme pouvait donner une explication claire,
compréhensible pour tous même ceux qui ne savent pas lire la norme, ce
serait super...



http://www.bien-programmer.fr/notes.htm#const





Je vois que ton site a subi à nouveau une remise en forme, le marketing a
encore
frappé parce que pour ce qui est du contenu, rien de nouveau sous le
soleil,
notre -ed- est fidèle à sa réputation d'austérité virile. Constante : ton
sens
pédagogique (et en particulier ton empathie envers les néophytes) est
toujours
aussi peu développé.

Je n'ai pas l'intention de te faire de cadeau, tu t'es montré
particulièrement
désagréable, suffisant et arrogant sur ce forum pendant ma période
d'apprentissage (mon premier message sur ce forum était il y a 3 ans et 10
mois). Et surtout, les années ont passé et tu n'as pas su évoluer vers
plus de
compréhension.

Faisons une petite analyse de ton "article" sur const, cf.
http://www.bien-programmer.fr/notes.htm#const



Belles analyses : technique et psycho.
Avatar
candide
-ed- a écrit :
On 10 juin, 04:08, candide wrote:
-ed- a écrit :
---------------- 8< ------------------------
puis qu'il
---------------- >8 ------------------------

Orthographe.



Corrigé, merci.





Je vois que tu as saisi l'essence même de mes remarques. :)


Tu es comme beaucoup qui pensent qu'une cerise fait le gâteau. Je dois
reconnaître que l'orthographe sur ton site s'est améliorée vu la densité de
fautes qu'on pouvait y lire naguère. Une relecture est passée par là. Il en
reste encore malgré tout. Puisque ça semble t'intéresser, juste deux exemples
trouvés après dix minutes de lecture :

(1)
Le langage C est indissociable de la notion de pointeur. Ce mot mythique en
effraye plus d'un,

(2)
Sinon, on utilise l'opérateur '=', suivit de la valeur d'initialisation.


Tiens, j'en vois une autre ici :

(3)
Pour des raison évidentes de clarté


Encore un petit effort et ton site sera parfait !
Avatar
Alexandre Bacquart
candide wrote:
-ed- a écrit :
On 8 juin, 15:27, Hamiral wrote:
Maintenant si une bonne âme pouvait donner une explication claire,
compréhensible pour tous même ceux qui ne savent pas lire la norme, ce
serait super...


http://www.bien-programmer.fr/notes.htm#const





Je vois que ton site a subi à nouveau une remise en forme, le marketing a encore
frappé parce que pour ce qui est du contenu, rien de nouveau sous le soleil,
notre -ed- est fidèle à sa réputation d'austérité virile. Constante : ton sens
pédagogique (et en particulier ton empathie envers les néophytes) est toujours
aussi peu développé.

Je n'ai pas l'intention de te faire de cadeau, tu t'es montré particulièrement
désagréable, suffisant et arrogant sur ce forum pendant ma période
d'apprentissage (mon premier message sur ce forum était il y a 3 ans et 10
mois). Et surtout, les années ont passé et tu n'as pas su évoluer vers plus de
compréhension.

Faisons une petite analyse de ton "article" sur const, cf.
http://www.bien-programmer.fr/notes.htm#const



[zip]

Sans doute que les contributions d'Emmanuel ici-même manquent parfois de
tact (je crois que tous les habitués en ont fait l'expérience au moins
une fois), mais ton acharnement ressemble plus à un règlement de comptes
qu'à une critique parfaitement objective. Tu reconnais d'ailleurs les faits.

Aussi, pourquoi ne pas lui communiquer tes remarques en privé ? Tu veux
le lyncher sur la place publique ? Tu représentes qui au juste ? Le
Conseil ? un parti extrémiste ? le peuple ? un "Comité de Lutte contre
les Tortures Infligées aux Amateurs de C" ? Vous avez des flyers pour
faire passer le message ?


--
Alex
Avatar
Hamiral
Alexandre Bacquart a écrit :
Sans doute que les contributions d'Emmanuel ici-même manquent parfois de
tact (je crois que tous les habitués en ont fait l'expérience au mo ins
une fois), mais ton acharnement ressemble plus à un règlement de co mptes
qu'à une critique parfaitement objective. Tu reconnais d'ailleurs les
faits.

Aussi, pourquoi ne pas lui communiquer tes remarques en privé ? Tu ve ux
le lyncher sur la place publique ? Tu représentes qui au juste ? Le
Conseil ? un parti extrémiste ? le peuple ? un "Comité de Lutte con tre
les Tortures Infligées aux Amateurs de C" ? Vous avez des flyers pour
faire passer le message ?



J'ajouterais que, même si tout n'est pas parfait sur son site, Emmanuel
a fourni un travail considérable pour mettre une telle documentation en
ligne. Certes ce n'est pas le meilleur modèle de pédagogie, mais si
quelqu'un peut faire mieux, et bien, qu'il le fasse au lieu de lyncher...

Ham
Avatar
candide
Hamiral a écrit :

J'ajouterais que, même si tout n'est pas parfait sur son site,



Tiens j'aurais plutôt dit :

"même si tout n'est pas imparfait sur son site" !!

Emmanuel
a fourni un travail considérable pour mettre une telle documentation en
ligne.



Bof, bof, bof

Certes ce n'est pas le meilleur modèle de pédagogie, mais si
quelqu'un peut faire mieux, et bien, qu'il le fasse au lieu de lyncher...



A vrai dire, chacun à le droit d'avoir un site ou une documentation médiocre sur
le langage C (par exemple) et ce n'est pas ce qui manque sur Internet ou dans
les librairies donc a priori je n'ai rien à dire. Ce qui me fait réagir ici est :

1) la suffisance de l'individu et le rapport entre ses prétentions (à expliquer
le C) et le résultat.
2) l'agressivité et le manque de bienveillance dont il a toujours fait preuve
envers les débutants.

Vu son attitude et indépendamment de ce que je produis ou pas, je me sens donc
tout à fait autorisé à lui répondre, je ne le calomnie pas, j'ai toujours avancé
des arguments.


Je rappelle juste le contexte :

-ed- a écrit :
On 8 juin, 15:27, Hamiral wrote:
Maintenant si une bonne âme pouvait donner une explication claire,
compréhensible pour tous même ceux qui ne savent pas lire la norme, ce
serait super...



http://www.bien-programmer.fr/notes.htm#const



Il considère donc en toute modestie que ses explications sont claires et
compréhensibles. C'est loin d'être le cas selon moi comme il me semble l'avoir
expliqué mais si tu as une opinion inverse, c'est ton droit (mais en toute
logique, si ses explications étaient si instructives je me demande pourquoi tu
as demandé dans ton post rappelé ci-dessus "une explication claire et
compréhensible" alors que tu connais le site de -ed- depuis longtemps).


Quant à faire mieux que ce qu'il y a sur le site de -ed-, ce n'est pas difficile
dès lors qu'on maitrise un tant soit peu le langage et qu'on sait surtout
exploiter et naviguer dans la masse de documentation disponible (la Norme, la
Rationale, les 3 forums usenet, quelques livres, être capable de lire du
code-source d'origines variées, avoir programmé pour avoir rencontré et ressenti
certaines situations, avoir enseigné le langage). En fait, il faut aussi avoir
un minimum d'empathie avec celui qui découvre ce qui effectivement n'est pas
donné à tout le monde ... Il faut aussi du temps.



Maintenant, produire moi-même une documentation qui soit à la hauteur des
exigences que j'attends, la question se pose en effet. En réalité, j'ai déjà
commencé un travail dans ce sens mais au fur et à mesure qu'on progresse dans ce
travail, on voit que la tache prend de plus en plus d'ampleur, non pas que ce
soit particulièrement difficile mais que cela nécessite beaucoup de travail
d'organisation et de conception (si on veut ne pas répéter les schémas
traditionnels).

J'hésite aussi à me lancer dans ce travail car l'importance du C décroit et je
n'ai pas envie de passer plusieurs années à élaborer une documentation originale
pour un langage qui va devenir marginal ou de niche. Bien que j'apprécie
beaucoup le C en raison finalement de sa relative simplicité voire rusticité, il
m'apparait de plus en plus comme un langage du passé, un langage de moins en
moins utilisé pour faire du code nouveau. C'est un langage qui est encore
enseigné certes mais pour combien de temps ? Je le trouve peu rentable : après
plusieurs semestres d'utilisation, les étudiants ne savent pas ou ne sont pas en
mesure de l'exploiter avec aisance ou de manière efficace. Même pour un étudiant
en informatique, je trouve que la question d'un apprentissage optionnel du C se
pose (d'ailleurs je connais plusieurs enseignants en informatique, docteurs et
tout qui ne connaissent pas le C).


Je pense faire un travail de documentation sérieux mais j'hésite entre C et
Python qui m'apparait beaucoup plus comme un langage d'avenir et moins frustrant
que le C quand on débute. Il faut aussi reconnaître que la tâche est plus aisée
en Python bien que ce dernier ne soit pas aussi facile qu'on veut bien le dire
(là encore la doc, officielle ou pas, est particulièrement défaillante, mal
construite, abstraite, peu navigable, incomplète, jargonneuse, hypertophiée,
elliptique, etc, on retrouve les mêmes défauts que pour le C, à croire que c'est
une maladie des informaticiens de ne pas savoir exposer clairement).
Avatar
candide
Alexandre Bacquart a écrit :

Sans doute que les contributions d'Emmanuel ici-même manquent parfois de
tact (je crois que tous les habitués en ont fait l'expérience au moins
une fois), mais ton acharnement ressemble plus à un règlement de comptes
qu'à une critique parfaitement objective. Tu reconnais d'ailleurs les
faits.




Ne me fais pas dire ce que je n'ai pas dit. Je trouve -ed- suffisant et arrogant
certes mais nulle obsession ni acharnement, je me contente de repondre à ses
approximations et ses prétentions. En citant sa propre page sur const, il m'a
juste donné l'occasion de remettre les choses au point.

Aussi, pourquoi ne pas lui communiquer tes remarques en privé ?



Il s'exprime en public, je réponds en public.


Tu veux
le lyncher sur la place publique ?



lyncher :
En parlant d'une foule, d'un groupe, exécuter sommairement qqn ou lui faire
subir des violences, sans jugement régulier.

-ed- n'a pas la possibilité de s'exprimer ni de se défendre ? Il s'exprime
publiquement, il agresse publiquement, il affirme et prétend publiquement, il
fait de l'auto-promotion, il prend donc le risque d'être remis en question
publiquement, ce n'est que la règle de l'expression sur un forum public. J'ai
avancé des arguments concernant les déficiences multiples de son article sur
const, rien de plus. Je persiste et je signe et je pourrais aller plus loin dans
la démonstration.

Tu représentes qui au juste ? Le
Conseil ? un parti extrémiste ? le peuple ? un "Comité de Lutte contre
les Tortures Infligées aux Amateurs de C" ? Vous avez des flyers pour
faire passer le message ?



Tiens de l'humour en surgelés.
Avatar
candide
Alexandre Bacquart a écrit :

une fois), mais ton acharnement ressemble plus à un règlement de comptes
qu'à une critique parfaitement objective. Tu reconnais d'ailleurs les
faits.




En fait, ma critique s'adresse à -ed- parce qu'il me donne l'occasion de
remettre les choses au point mais j'aurais le même genre de critique à formuler
vis-à-vis du K&R qui est un ouvrage dont la qualité didactique est totalement
usurpée ou encore pour le Harbison & Steele qui est un ouvrage extrêmement
mauvais, pratiquement pour les mêmes raisons qui font que le site de -ed- est
abscons quand on ne connait pas et superfétatoire quand on a appris.

Comme je l'ai déjà dit, la Norme a un rapport qualité/compréhension bien
meilleur que beaucoup d'ouvrages sur le C.
1 2 3 4