Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
510 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7
Auteur Sujet :

demande Aide sur un exercice!

n°869485
Taz
bisounours-codeur
Posté le 10-10-2004 à 16:16:10  profilanswer
 

Reprise du message précédent :

Sve@r a écrit :

C'est là le problème ! Taz engueule beaucoup de monde et beaucoup de monde se laisse engueuler par cet ersatz de Roi Soleil sans réagir...
 
 
Je suis peut-être naïf mais je suis étonné que "sizeof()" qui est un opérateur du C et qui est donc codé en natif dans le langage au même titre que d'autres opérateurs ("+", "-", "++, "%", "&&" etc) donne comme résultat une valeur de type "size_t" alors que le type "size_t" n'est pas natif du langage...
 
Contrairement à ce que tu dis, Taz, ces deux pages http://publications.gbdirect.co.uk [...] alloc.html et http://www.lri.fr/~aze/page_c/aide_c/sizeof.html disent que "sizeof()" est "unsigned int"
 
Evidemment, ceux qui ont écrits ces pages peuvent se tromper. Mais dès demain j'essaierai un "man sizeof" sur les différents systèmes que j'utilise...

bla bla bla, t'en as pas marre de raconter n'importe quoi ? tu te décides quand à lire le K&R ou le dernier brouillon du WG14 ? Moi je ne dis rien, je répète. Maintenant si toi tu marches au 'je trouve, donc c'est vrai' ...


Message édité par Taz le 10-10-2004 à 16:16:55
mood
Publicité
Posté le 10-10-2004 à 16:16:10  profilanswer
 

n°869487
Taz
bisounours-codeur
Posté le 10-10-2004 à 16:19:17  profilanswer
 

Masklinn a écrit :

le truc, c'est qu'à chaque fois que j'ai mangé dans ma gueule (ou presque) de la part de taz c'était à raison [:aloy]

et ça rentre bien d'ailleurs
 

Masklinn a écrit :


et quand je m'aperçois qu'il se plante (mauvaise interprétation/il va trop loin/manque de chocolat/manque de sexe/autre), ben je lui dit [:spamafote]

aucun problème. Si je me plante, je le reconnais et je suis content d'admettre mon erreur. Maintenant quand je raconte des trucs, je vérifie toujours. Je fais pas au feeling ou à coup de google

n°869523
fodger
ARRRACHHEE TTAAA FFFOUUFFOUNE!
Posté le 10-10-2004 à 17:58:20  profilanswer
 

Taz a écrit :

ouais, ouais, fait pas le gentil, tu as parjuré les saintes écritures, personne ne l'oublie


 
Nul n'est parfait.

n°869527
fodger
ARRRACHHEE TTAAA FFFOUUFFOUNE!
Posté le 10-10-2004 à 18:05:54  profilanswer
 

Taz a écrit :

bla bla bla, t'en as pas marre de raconter n'importe quoi ? tu te décides quand à lire le K&R ou le dernier brouillon du WG14 ? Moi je ne dis rien, je répète. Maintenant si toi tu marches au 'je trouve, donc c'est vrai' ...


 
Peut être, mais ce qui prévaut aujourd'hui c'est le C99 non?

n°869546
Taz
bisounours-codeur
Posté le 10-10-2004 à 18:27:48  profilanswer
 

ça dépend de tes contraintes. Mais là je vois pas trop le rapport. Sauf exception, il me semble que le C99 est compatible avec les normes précédentes : ce qui est vrai pour l'ANSI s'applique donc également.
 
Vérification faite, le C99 ne contredit aucun point concernant <limits.h>

n°869590
gilou
Modérateur
Modzilla
Posté le 10-10-2004 à 19:19:13  profilanswer
 

Sve@r a écrit :

C'est là le problème ! Taz engueule beaucoup de monde et beaucoup de monde se laisse engueuler par cet ersatz de Roi Soleil sans réagir...
 
 
Je suis peut-être naïf mais je suis étonné que "sizeof()" qui est un opérateur du C et qui est donc codé en natif dans le langage au même titre que d'autres opérateurs ("+", "-", "++, "%", "&&" etc) donne comme résultat une valeur de type "size_t" alors que le type "size_t" n'est pas natif du langage...
 
Contrairement à ce que tu dis, Taz, ces deux pages http://publications.gbdirect.co.uk [...] alloc.html et http://www.lri.fr/~aze/page_c/aide_c/sizeof.html disent que "sizeof()" est "unsigned int"
 
Evidemment, ceux qui ont écrits ces pages peuvent se tromper. Mais dès demain j'essaierai un "man sizeof" sur les différents systèmes que j'utilise...


Si tu avais au moins lu en entier la premiere page que tu donnes en lien au lieu apparement de la survoler histoire de contredire Taz, tu aurais trouvé ceci:
 

5.5.2. The type of sizeof
Now comes the question of just what this does:
 
sizeof ( sizeof (anything legal) )
That is to say, what type does the result of sizeof have? The answer is that it is implementation defined, and will be either unsigned long or unsigned int, depending on your implementation. There are two safe things to do: either always cast the return value to unsigned long, as the examples have done, or to use the defined type size_t provided in the <stddef.h> header file. For example:
 
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
 
main(){
      size_t sz;
      sz = sizeof(sz);
      printf("size of sizeof is %lu\n",
              (unsigned long)sz);
      exit(EXIT_SUCCESS);
}
Example 5.15


 
A+,

n°869634
masklinn
í dag viðrar vel til loftárása
Posté le 10-10-2004 à 20:03:17  profilanswer
 

gilou tu rox :jap:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°869643
Taz
bisounours-codeur
Posté le 10-10-2004 à 20:17:15  profilanswer
 

bien bu    [:tobrainc]  [:xp1700]

n°869668
Sve@r
Posté le 10-10-2004 à 21:14:33  profilanswer
 

gilou a écrit :

Si tu avais au moins lu en entier la premiere page que tu donnes en lien au lieu apparement de la survoler histoire de contredire Taz, tu aurais trouvé ceci:
 

5.5.2. The type of sizeof
Now comes the question of just what this does:
 
sizeof ( sizeof (anything legal) )
That is to say, what type does the result of sizeof have? The answer is that it is implementation defined, and will be either unsigned long or unsigned int, depending on your implementation. There are two safe things to do: either always cast the return value to unsigned long, as the examples have done, or to use the defined type size_t provided in the <stddef.h> header file. For example:
 
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
 
main(){
      size_t sz;
      sz = sizeof(sz);
      printf("size of sizeof is %lu\n",
              (unsigned long)sz);
      exit(EXIT_SUCCESS);
}
Example 5.15


 
A+,


 
Je vais traduire parce qu'apparemment, tu ne lis pas bien l'anglais...
Quel est le type qu'a sizeof ? la réponse est que c'est défini dans l'implémentation et sera et que ce sera unsigned int ou unsigned long et cela dépend de votre implémentation (ndt je ne vois pas pour le moment que "sizeof" est de type "size_t" )
Il y a deux choses sûres à faire: transformez votre valeur de retour en "unsigned long" ou en "size_t" fourni dans le fichier d'en-têtes <stddef.h>. Par exemple (suivi du code source)
 
Pour moi, ce texte ne dit pas que sizeof est du type "size_t" (comme le dit Taz), juste qu'il faut, si on veut être 100% portable, caster son retour en "unsigned long" ou en "size_t". Je n'ai jamais nié ce dernier fait (zavez qu'à relire mes posts) mais je rappelle quand-même qu'il s'agissait au départ d'aider un débutant à trouver des algo pour répondre à un exercice simple, pas de faire un code 100% portable. Taz le merveilleux est ensuite arrivé en disant que c'était pas terrible (comme d'hab) et voilà où on en est.
 
gilou t'as roxé :jap: !!!
 


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°869673
masklinn
í dag viðrar vel til loftárása
Posté le 10-10-2004 à 21:24:12  profilanswer
 

ratai, ca dit que pour être sur il faut:
1- soit caster en unsigned long, dans la mesure ou le retour est soit unsigned int soit unsigned long
2- soit utiliser size_t, directement (pas caster) [parce que size_t est le type de retour de sizeof]
 
Donc pour faire du code portable, simple et compréhensible, il faut utiliser size_t
(par ailleurs size_t est utilisé partout dans la STL par exemple)


Message édité par masklinn le 10-10-2004 à 21:25:09

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le 10-10-2004 à 21:24:12  profilanswer
 

n°869675
Taz
bisounours-codeur
Posté le 10-10-2004 à 21:25:10  profilanswer
 

ouais allez rattrape toi aux branches, planque toi derrière une traduction.
 
Bon je te le fais en français, extrait du K&R, première référence à sizeof dans le texte
"size_t est le type entier non-signé retourné par l'opérateur sizeof". On trouve la même définition dans tous les papiers du WG14.
 
Et à lire toute la documentation officielle, je n'ai rien vu qui interdisse à size_t d'être un short ou un long long. Tout ce que je vois, c'est que ce doit être un entier unsigned. Je pense d'ailleurs qu'il existe des implémentation ou size_t est un llu, en effet, sur certaines plateformes 64bits ne sont pas sur le modèle long pointer, mais long long pointer.

n°869678
cris56
Posté le 10-10-2004 à 21:32:57  profilanswer
 

Masklinn a écrit :

ratai, ca dit que pour être sur il faut:
1- soit caster en unsigned long, dans la mesure ou le retour est soit unsigned int soit unsigned long
2- soit utiliser size_t, directement (pas caster) [parce que size_t est le type de retour de sizeof]
 
Donc pour faire du code portable, simple et compréhensible, il faut utiliser size_t
(par ailleurs size_t est utilisé partout dans la STL par exemple)


 
+1
 
Sve@r > relis bien ! soit tu cast en unsigned long par securité, soit tu utilise size_t qui est le type adequate
 
c'est ce qu'il  fallait comprendre, maintenant à ce que ca soit juste pour les types retour...
 
size_t est le type retour de sizeof, c'est tout
 
qu'est ce que tu as contre size_t ? ya aucun argument contre, dans tout les cas c'est ce qu'il y a de plus claire et de plus simple à utiliser, et de plus portable

n°869682
gilou
Modérateur
Modzilla
Posté le 10-10-2004 à 21:38:39  profilanswer
 

Sve@r a écrit :

Je vais traduire parce qu'apparemment, tu ne lis pas bien l'anglais...

Ben voyons, j'ai juste travaillé en Californie des années.
T'inquietes pas pour l'anglais, je n'ai surement rien a apprendre de toi sur le sujet.
Et en ce qui concerne le C non plus, apparement.
tu aurais regardé un peu partout a sizeof, par exemple en faisant "sizeof C language" avec google, tu aurais vu que les deux premieres entrées déja (j'ai pas ete voir plus loin) indiquent que sizeof retourne qque chose de type size_t.
 
A+,

n°869698
Sve@r
Posté le 10-10-2004 à 21:56:47  profilanswer
 

cris56 a écrit :

Sve@r > relis bien ! soit tu cast en unsigned long par securité...


C'est aussi ce que j'ai dit dans le post http://forum.hardware.fr/hardwaref [...] tm#t865312 (...si vraiment je veux être tranquille j'utilise un "unsigned long"...)
 

cris56 a écrit :

qu'est ce que tu as contre size_t ? ya aucun argument contre, dans tout les cas c'est ce qu'il y a de plus clair et de plus simple à utiliser, et de plus portable


J'ai rien contre et je suis d'accord avec le fait que si toutes les tailles de tous les objets dans les fonctions diverses sont exprimées en "size_t", ce sera 100% portable que j'exprime mes tailles à moi aussi de la même façon.
 
J'ai juste dit dans le post http://forum.hardware.fr/hardwaref [...] tm#t869473 que je ne comprenais pas qu'un opérateur natif du C donne une valeur dans un type non-natif. Et j'ai dit aussi que dès demain je regarderai dans les docs. Tout l'inutile blabla qui en a suivi n'a été justement que du blabla...


Message édité par Sve@r le 10-10-2004 à 21:57:29

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°869707
cris56
Posté le 10-10-2004 à 22:08:01  profilanswer
 

Sve@r a écrit :

C'est aussi ce que j'ai dit dans le post http://forum.hardware.fr/hardwaref [...] tm#t865312 (...si vraiment je veux être tranquille j'utilise un "unsigned long"...)


 
entre utiliser unsigned long qui "pourrait" etre le type retour de sizeof et size_t qui l'est, tu choisi quoi ?
 
 

Sve@r a écrit :


J'ai juste dit dans le post http://forum.hardware.fr/hardwaref [...] tm#t869473 que je ne comprenais pas qu'un opérateur natif du C donne une valeur dans un type non-natif.


 
ben la voila l'explication justement, et size_t est l'alias du type natif retourné par sizeof

n°869720
Sve@r
Posté le 10-10-2004 à 22:42:09  profilanswer
 

cris56 a écrit :

entre utiliser unsigned long qui "pourrait" etre le type retour de sizeof et size_t qui l'est, tu choisis quoi ?


Pour moi, pour les projets que je développe, j'utilise "size_t" sans hésiter.
 
Pour un débutant auquel je veux montrer un algo, une manipulation simple, une particularité quelconque, alors je me concentre sur la particularité et j'essaye de rester à son niveau pour le reste. C'est pour cela que dans le code posté ici http://forum.hardware.fr/hardwaref [...] tm#t864455 je suis resté tout "int". On en revient au point de départ. Comme c'est dit dans ici http://forum.hardware.fr/hardwaref [...] tm#t865417, les règles doivent aussi prendre en compte le contexte pour lequel on écrit son code.


Message édité par Sve@r le 10-10-2004 à 22:42:41

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°869724
Taz
bisounours-codeur
Posté le 10-10-2004 à 22:48:41  profilanswer
 

Sve@r a écrit :

les règles doivent aussi prendre en compte le contexte pour lequel on écrit son code.

justement, tu ne peux pas savoir sur quelles architectures travaillent les gens, alors autant sécuriser la base. De même qu'un débutant peut concevoir que les float, c'est pour les flottant, les int pour les entiers, les char pour les caratères, il peut assimiler que size_t c'est pour les taille. Tu confonds algorithme et implémentation.
 
Je sais plus qui est qui : t'es pas entrain de retourner ta veste. Moi j'ai une logique simple : Ne fais pas faire à un débutant ce que tu ne ferais pas toi même.
 
cris56, gilou > vous avez vous aussi remarquez cette nouvelle vague dont lsdyoyo, Sve@r et lams ? ça nous promet encore de bon moments.

n°869744
Sve@r
Posté le 10-10-2004 à 23:05:43  profilanswer
 

Taz a écrit :

De même qu'un débutant peut concevoir que les float, c'est pour les flottant, les int pour les entiers, les char pour les caratères, il peut assimiler que size_t c'est pour les taille.


Je suis certain qu'un débutant connait int, char, float car c'est natif et il l'a sûrement appris de son prof. Mais je ne suis pas certain qu'il connaisse le type "size_t". En fait, je suis quasiment sûr qu'il ne le connait pas parce que ce n'est pas nécessaire à la compréhension immédiate du langage.
 

Taz a écrit :

cris56, gilou > vous avez vous aussi remarquez cette nouvelle vague dont lsdyoyo, Sve@r et lams ? ça nous promet encore de bon moments


Moi j'ai remarqué que tu ne connaissais pas tes participes passés. De plus, de tous les forums où je suis, celui-ci est le plus désagréable dans son ambiance et tu y es très certainement pour quelque chose (ainsi que le modérateur qui modère pas grand chose). Dans les autres, les gens se parlent avec politesse et argumentent avec des "tu devrais... je pense qu'il vaudrait mieux... j'ai lu que... etc". Ici, il n'y a que des "c'est nul... c'est comme ça... il faut... il faut pas...". Mais t'inquiète pas, je ne vais plus y revenir bien souvent et probable que d'autres feront pareil. Quand cris56, gilou et toi resterez seuls, vous pourrez débattre du size_t jusqu'à la fin du C si cela vous chante.


Message édité par Sve@r le 10-10-2004 à 23:06:26

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°869747
Taz
bisounours-codeur
Posté le 10-10-2004 à 23:11:18  profilanswer
 

ah bon parce que t'as argumenté toi ? à part sortir des liens foireux que tu n'as même pas lu et balancé tes vérités, t'es pas un modèle.
 
size_t est nécessaire à la compréhension immédiate du langage puisqu'il s'agit du type de retour de sizeof. Que ça te plaise ou non.

n°869751
cris56
Posté le 10-10-2004 à 23:16:20  profilanswer
 

Sve@r > pourquoi différer l'apprentissage du type size_t ? ca ne peut etre que bénéfique

n°869758
gilou
Modérateur
Modzilla
Posté le 10-10-2004 à 23:26:55  profilanswer
 

Citation :

les règles doivent aussi prendre en compte le contexte pour lequel on écrit son code.


 
Ca veut pas dire qu'on doit pondre du mauvais code sous pretexte que c'est pour un debutant. Dans le Koenig & Moo, ma reference comme livre pedagogique pour apprendre le C++, size_t ainsi que string::size_type sont introduits exactement en meme temps que bool, unsigned, short et long. C'est a dire des le depart (int et string etant introduit au tout debut).
A+,

n°869759
Taz
bisounours-codeur
Posté le 10-10-2004 à 23:30:25  profilanswer
 

Koenig :sol:

n°869760
gilou
Modérateur
Modzilla
Posté le 10-10-2004 à 23:43:17  profilanswer
 

Le Koenig & Moo, Accelerated C++, pour moi, c'est le bouquin modele pour apprendre ce langage.  
A+,

n°869808
Lam's
Profil: bas.
Posté le 11-10-2004 à 09:22:39  profilanswer
 

gilou a écrit :

Le Koenig & Moo, Accelerated C++, pour moi, c'est le bouquin modele pour apprendre ce langage.  
A+,


Certes, mais tu es sur le forum C là. D'autre part, je suis un peu du même avis que Sve@r : Pour des gars qui commencent probablement la programmation en passant pas le C (en fac, IUT, ou école d'ingé), début Octobre ne me semble pas forcément adapté à faire une surcharge de concepts, de types, etc. Donc, il ne me parrait pas indispensable de les abrutir avec size_t dès maintenant. Un peu plus tard, refaire une passe sur tout le langage, ça risque d'être plus approprié.  
 
D'autant que la plupart des profs n'ont pas appris comme ça, donc ils risquent de ne pas enseigner comme ça. A moins bien sûr que vous n'ayiez tous appris la programmation en un jour. :??:  
 
De la même manière, certains d'entre nous on une autre priorité que le code parfait : mon employeur ne me paye pas pour faire du code lint-compliant, mais pour lui faire gagner de l'argent. Quitte à faire l'impasse sur certains détails de la norme qui ne sont pas forcément indispensables (je doute qu'il soit content si je lui dis que j'attend que Visual Studio supporte le mot-clé export pour finir de compiler mon projet), ou à faire des simplifications abusives (unsigned char=-128 est portable).  
 
Donc, si je décide que dans le cadre de mon projet, size_t peut être assimilable à unsigned long (si je décide de faire de la sérialisation par exemple), libre à moi. Ca me fera peut-être gagner du temps, de l'argent, et des stock-options. Ou peut-être pas : c'est à voir en fonction du contexte. Si je décide d'utiliser strstream par ce que un de mes compilos ne gère pas stringstream, ce n'est pas la peine de me sauter dessus à bras raccourcis parce que ce n'est plus standard : un peu de diplomatie ne fait pas de mal...
 
Certes, apprendre les concepts justes est important, mais il y a des limites. Un programmeur C++ qui ne sait pas faire les spécialisation partielles n'est pas forcément une sous-merde à mes yeux. Je ne sais pas pour vous...
 
 

Citation :

cris56, gilou > vous avez vous aussi remarquez cette nouvelle vague dont lsdyoyo, Sve@r et lams ? ça nous promet encore de bon moments.


 
Maintenant, j'ai vraiment un gros reproche à faire à certains d'entre vous (pas tout le monde, hein!): sans même connaître mon expérience (ou celle des autres), ou mes connaissances, je trouve que certains (surtout Taz) se permettent un peu trop d'attaques à 2 balles.  
 
Exemple, Taz : lorsque je dis que c'est un bug de compilo qui autorise à faire des unions avec des membres anonymes, tu pourrais soit acquieser, soit le réfuter de façon argumentée. Tu n'es pas obligé de venir déverser ton stress de nerd insatisfait sur moi: je ne suis pas ton psy.
 
Si tu me dis que la STL est écrite 100% en C++ standard et que le réfute, ce n'est pas la peine de me cracher ton fiel dessus, OK ? Parce que j'ai sans doute un peu plus d'expérience pratique que toi (à défaut d'avoir les connaissances théoriques), et que je sais le drame humain que représentent des allocateurs mal configurés...
 
Donc, essayez d'avoir un tout petit peu plus de retenue face aux nouveaux arrivants (on est pas tous des IUT en 1ère année), parce que le contexte actuel me donne pas vraiment envie de rester à trainer mes guêtres ici, et pourtant le niveau est quand même vachement élevé, et je suis sûr qu'il y a plein de trucs à apprendre...
 
Essayez aussi de répondre aux questions vraiment innocentes de certains (celle de Sve@r au sujet de size_t qui est définis dans un .h alors qu'il est censé faire partie du langage) avant de commencer les flames.
 
Voilà. This is the end of my rant. Désolé du HS.

n°869843
gilou
Modérateur
Modzilla
Posté le 11-10-2004 à 10:22:55  profilanswer
 

Lam's a écrit :

Certes, mais tu es sur le forum C là. D'autre part, je suis un peu du même avis que Sve@r : Pour des gars qui commencent probablement la programmation en passant pas le C (en fac, IUT, ou école d'ingé), début Octobre ne me semble pas forcément adapté à faire une surcharge de concepts, de types, etc. Donc, il ne me parrait pas indispensable de les abrutir avec size_t dès maintenant. Un peu plus tard, refaire une passe sur tout le langage, ça risque d'être plus approprié.  
Je sais tres bien que je suis sur le forum C. Pourquoi ca devrait m'empecher de prendre un exemple de pedagogie tiré d'un manuel C++? Je vois pas pourquoi il est question d'abrutir les eleves. C'est en leur donnant de mauvaises habitudes au depart qu'on les abrutit. size_t ca doit s'introduire des lors qu'on parle d'allocation memoire, ca me semble evident.
 
D'autant que la plupart des profs n'ont pas appris comme ça, donc ils risquent de ne pas enseigner comme ça. A moins bien sûr que vous n'ayiez tous appris la programmation en un jour. :??:  
Repetons les erreurs du passé, c'est ça? Si le prof regurgite du C meme pas ISO, parce qu'il a appris comme ca autrefois, il faut programmer comme lui pour lui faire plaisir? :sarcastic:  
 
De la même manière, certains d'entre nous on une autre priorité que le code parfait : mon employeur ne me paye pas pour faire du code lint-compliant, mais pour lui faire gagner de l'argent. Quitte à faire l'impasse sur certains détails de la norme qui ne sont pas forcément indispensables (je doute qu'il soit content si je lui dis que j'attend que Visual Studio supporte le mot-clé export pour finir de compiler mon projet), ou à faire des simplifications abusives (unsigned char=-128 est portable).  
Quand on ne fait pas du code lint compliant et/ou l'impasse sur la norme, ca finit toujours par se payer a long terme, meme si a court terme, ca semble un gain d'argent (parce que un gain de temps).
 
Donc, si je décide que dans le cadre de mon projet, size_t peut être assimilable à unsigned long (si je décide de faire de la sérialisation par exemple), libre à moi. Ca me fera peut-être gagner du temps, de l'argent, et des stock-options. Ou peut-être pas : c'est à voir en fonction du contexte. Si je décide d'utiliser strstream par ce que un de mes compilos ne gère pas stringstream, ce n'est pas la peine de me sauter dessus à bras raccourcis parce que ce n'est plus standard : un peu de diplomatie ne fait pas de mal...
Libre a toi. Mais libre a moi, si j'etais un client, d'exiger les resultats d'un passage de ton code a lint ou a la revue d'une de mes equipes comme critere de recette.
 
Certes, apprendre les concepts justes est important, mais il y a des limites. Un programmeur C++ qui ne sait pas faire les spécialisation partielles n'est pas forcément une sous-merde à mes yeux. Je ne sais pas pour vous...
Mais s'il ne sait pas reconnaitre que c'est la solution la plus adaptée a l'implementation qu'il écrit, c'est toujours un programmeur efficace pour toi?
 
 
... (Trucs me concernant pas et ressortie d'un vieux fight) ...
 
Essayez aussi de répondre aux questions vraiment innocentes de certains (celle de Sve@r au sujet de size_t qui est définis dans un .h alors qu'il est censé faire partie du langage) avant de commencer les flames.
Parce qu'un langage ca se limite aux keywords du langage? c'est un keyword en C, FILE? :sarcastic:
 
Voilà. This is the end of my rant. Désolé du HS.


A+,


Message édité par gilou le 11-10-2004 à 10:25:08
n°869857
pains-aux-​raisins
Fatal error
Posté le 11-10-2004 à 10:38:55  profilanswer
 

gilou a écrit :

Repetons les erreurs du passé, c'est ça? Si le prof regurgite du C meme pas ISO, parce qu'il a appris comme ca autrefois, il faut programmer comme lui pour lui faire plaisir?    


Chez soi on fait ce qu'on veut tout le monde est d'accord.
Mais dans le cadre de cours, je ne saurais que trop conseiller de faire comme le prof. Ce conseil devient on ne peut plus vrai dans le monde de l'entreprise où les normes de codage sont ce qu'elles sont, bonnes ou mauvaises.
;)


Message édité par pains-aux-raisins le 11-10-2004 à 10:39:29
n°869871
docmaboul
Posté le 11-10-2004 à 10:56:57  profilanswer
 

Taz a écrit :

vous avez vous aussi remarquez cette nouvelle vague dont lsdyoyo, Sve@r et lams ? ça nous promet encore de bon moments.


 
Tu devrais écrire un lintaz++. A ma connaissance, il n'y en a pas de libre sur le marché et ça t'éviterait d'avoir à gueuler, enfin, tu pourrais plutôt le faire de manière complètement automatique [:ddr555]

n°869878
Lam's
Profil: bas.
Posté le 11-10-2004 à 11:08:06  profilanswer
 


Oula, dur à quoter.  
 
En fait, non, tu me prends pour plus extremiste que je ne suis. Je trouve perso que les cours de langages sont généralement mal fichus et pas assez "stricts": le prof t'explique que sizeof est une fonction, que size_t est un entier, etc. Et je trouve ça tout aussi dommageable que toi.
 
Mon intervention voulait dire: beaucoup de gens apprennent principalement auprès des profs, et essayons de ne pas trop leur semer de confusion, voilà tout. Donc, parler de size_t, de son utilisation dans les tailles mémoires, les chaînes et l'opérateur sizeof, c'est très très bien, et il faut le faire.  
 
Par contre, dire qu'un code est faux sans son utilisation, ça me parrait trop prématuré. Je trouve qu'il y a plein de trucs plus enrichissant (et moins "écoeurants) à apprendre dans un premier temps, comme l'encapsulation, les techniques algorithmique classiques, etc. etc.
 
Je pense qu'en fait ce qui nous "oppose" (c'est un bien grand mot), c'est l'ordre d'apprentissage des principaux thèmes du langage... Je suis plus pour une approche relâchée, qui se strictifie au fur et à mesure que l'on apprend (apparition systématique de la constness, suppression des "using" pour avoir conscience de ce qu'on utilise, tir à vue sur les "iostream.h", etc.)
 
Quand à l'aspect lint-compliant, bien sûr, tu es en droit de demander des revues de code, etc. Mais ça te coûtera plus cher. Ce prix est justifié pour du code embarqué, de la sécurité, de l'aérospatial, etc. Mais dans beaucoup d'autres domaines, il ne se justifie plus du tout. Là encore, tout est question de context: le monde n'est ni noir, ni blanc, il est Michael Jackson.  
 
Pour la remarque sur size_t et sur FILE: bah justement, tu viens d'y répondre, mais sans y metter une jolie forme fleurie et délicate. D'ou mon râlement de vieillard aigri  :)

n°869886
Taz
bisounours-codeur
Posté le 11-10-2004 à 11:14:58  profilanswer
 

pains-aux-raisins a écrit :

Chez soi on fait ce qu'on veut tout le monde est d'accord.
Mais dans le cadre de cours, je ne saurais que trop conseiller de faire comme le prof. Ce conseil devient on ne peut plus vrai dans le monde de l'entreprise où les normes de codage sont ce qu'elles sont, bonnes ou mauvaises.
;)

Le truc c'est juste d'être amical avec ton prof. Vendredi encore, j'ai filé 2h de cours de C à un prof. Faut défendre ton steack. T'auras certainement quelqu'un devant toi quelqu'un plein de certitudes. Il t'enseigne le C, et si tu te pointes avec ton code, je sens déjà des réflexions 'j'ai de l'expérience, faut pas faire comme ça' ... 85% de chances qu'il n'ait jamais lu le K&R. Le tout c'est d'argumenter. Pas d'avaler des python.
 
J'ai des tas d'exemples vécus, des conneries monumentales ...
 
 
Et ça développe le sens critique  :sol:

n°869887
Taz
bisounours-codeur
Posté le 11-10-2004 à 11:17:46  profilanswer
 

Moi je vois pas en quoi écrire du code le plus standard possible coûterait plus cher.

n°869889
Lam's
Profil: bas.
Posté le 11-10-2004 à 11:22:02  profilanswer
 

Taz a écrit :

Moi je vois pas en quoi écrire du code le plus standard possible coûterait plus cher.


Tu sais que c'est une super bonne question, et que la réponse est loin d'être évidente.
 
Lorsque je recrutais des gars pour faire du C++, j'utilisais le test Prometrics, et la proportion de gars ayant le niveau acceptable était de l'ordre du 98% percentile. C'est à dire deux gars sur 100 qui passent ce test. Et ces 2 gars là, ils coûtent forcément plus cher à trouver, à embaucher, et à maintenir à jour (training, etc.).  
 
C'est aussi con que ça !

n°869894
Taz
bisounours-codeur
Posté le 11-10-2004 à 11:25:08  profilanswer
 

Et ceci étant, ça ne paraît pas important de donner un meilleur niveau aux gens ?
 
 
edit : je suis pas vraiment d'accord avec toi. Une norme étant une coding-style universelle et qui devrait être implicite, le simple fait de la suivre permet d'augmenter la maintenabilité.


Message édité par Taz le 11-10-2004 à 11:29:00
n°869897
pains-aux-​raisins
Fatal error
Posté le 11-10-2004 à 11:28:37  profilanswer
 

Taz a écrit :

Le truc c'est juste d'être amical avec ton prof. Vendredi encore, j'ai filé 2h de cours de C à un prof. Faut défendre ton steack. T'auras certainement quelqu'un devant toi quelqu'un plein de certitudes. Il t'enseigne le C, et si tu te pointes avec ton code, je sens déjà des réflexions 'j'ai de l'expérience, faut pas faire comme ça' ... 85% de chances qu'il n'ait jamais lu le K&R. Le tout c'est d'argumenter. Pas d'avaler des python.
 
J'ai des tas d'exemples vécus, des conneries monumentales ...
 
 
Et ça développe le sens critique  :sol:


Je suis d'accord avec toi. L'actuelle génération de profs en programmation, c'est pas encore ça --- void main() et compagnie.
Argumenter, c'est un bon conseil mais faut voir également si le prof est souple et ouvert. Il existe des profs buttés malheureusement, je ne t'apprends rien. Si t'es un demi-dieu geek en prog, ca passera quand même, mais si t'es un élève moyen, il y a un risque de se faire sacquer pour pas grand chose quand même.
Il y a la théorie, mais dans la pratique faut parfois composer et même avaler des pythons :(

n°869900
Taz
bisounours-codeur
Posté le 11-10-2004 à 11:29:40  profilanswer
 

Les limites sont dans ta tête.

n°869905
Lam's
Profil: bas.
Posté le 11-10-2004 à 11:33:27  profilanswer
 

Taz a écrit :

Et ceci étant, ça ne paraît pas important de donner un meilleur niveau aux gens ?


Pour moi, si. (sinon, je ne serais pas là).
 
Mais tu crois que c'est la priorité de toutes les boites qui externalisent en Inde ? Il ne faut pas s'étonner s'il y a beaucoup de programmeurs qui ne maîtrisent pas à fond leurs langages : de nos jours, la versatilité et la connaissance des APIs semble plus importante pour se trouver un boulot (et une fois que tu es dedans, c'est dur de se bouger le ciul et lire la norme en rentrant du boulot).  
 
A tort ou à raison...

n°869911
Taz
bisounours-codeur
Posté le 11-10-2004 à 11:35:56  profilanswer
 

Justement : comment tu peux être crédible si tu ne maîtrise pas la première des bibliothèque, la bibliothèque standard ?

n°869928
Lam's
Profil: bas.
Posté le 11-10-2004 à 11:43:30  profilanswer
 

Taz a écrit :

Justement : comment tu peux être crédible si tu ne maîtrise pas la première des bibliothèque, la bibliothèque standard ?


 
Crédible auprès de qui ?  
 
Ton prof, il s'en tape, il fait des void main().
 
Ton recruteur, il s'en tape, il veut que tu connaisse C++, Java, .Net, Windows, Solaris, VMS.
 
Ton compilo, il s'en fout. S'il peut générer le code, il le fera.
 
Au final, à moins de vouloir devenir un puriste, c'est dur de se motiver pour se spécialiser. Et beaucoup ne veulent pas devenir puristes.  
 
C'est comme si je te disais : ne viens pas faire le cador sur ce forum tant que tu ne maîtrises pas tes accords et tes participes passés. Tu vois le parrallèle ?

n°869933
Taz
bisounours-codeur
Posté le 11-10-2004 à 11:47:04  profilanswer
 

même réflexion pour toi à propos du C.
 
Mais après tout, je peux faire comme toi :
voici le présent des verbes du premier groupe
 
je chantes
tu chantte
il chanteux
nous chantont
vous chanté
ils chante
 
tu vois le parallèle ?
 
si tu veux te la jouer correcteur orthographique, tu peux toi aussi revoir ta copie.

n°869942
Lam's
Profil: bas.
Posté le 11-10-2004 à 11:52:37  profilanswer
 

Taz a écrit :

même réflexion pour toi à propos du C.
 
Mais après tout, je peux faire comme toi :
voici le présent des verbes du premier groupe
 
je chantes
tu chantte
il chanteux
nous chantont
vous chanté
ils chante
 
tu vois le parallèle ?
 
si tu veux te la jouer correcteur orthographique, tu peux toi aussi revoir ta copie.


Ah non, faire comme moi, c'est ne pas sauter à la gorge du premier venu parce qu'il a fait une faute de grammaire, et lui mentionner poliment si tu penses que c'est nécessaire.  
 
C'est également avoir conscience que le 1er groupe est indispensable, mais que le subjonctif imparfait est juste utile si tu souhaites être complet et rigoureux.
 
Je ne joue pas les correcteurs orthographiques, parce que je n'ai pas écrit en français depuis un bon moment, donc j'ai du mal aussi. C'était juste un exemple de ton propre style...

n°869945
pains-aux-​raisins
Fatal error
Posté le 11-10-2004 à 11:57:25  profilanswer
 

En tout cas, ce que je tire de topic c'est que si j'ai un pb ou une question pointue, je suis content d'avoir des personnes compétentes sur hfr ;)

n°869948
Lam's
Profil: bas.
Posté le 11-10-2004 à 12:01:32  profilanswer
 

pains-aux-raisins a écrit :

En tout cas, ce que je tire de topic c'est que si j'ai un pb ou une question pointue, je suis content d'avoir des personnes compétentes sur hfr ;)


 
Ouais, je suis dispo.  
 
[:jesorsv]

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7

Aller à :
Ajouter une réponse
 

Sujets relatifs
excel - aide sur des fonctionsOnDestroy et CDialog non modale... un peu d'aide svp ;-)
Aide siteaide svp : Jeux en réseaux !
aide requete sql pb syntaxenovice en prog demande aide
Besoin d'aide pour resoudre un bug d affichage xhtml/cssaide fonction qui appel l'événment OnActivate chaque 3 minutes
Besoin d'aide php svp 
Plus de sujets relatifs à : demande Aide sur un exercice!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR