Bienvenue sur PEBKAC.fr, le site qui recense les anecdotes où l’on se moque des utilisateurs ne maîtrisant pas l’outil informatique. PEBKAC est un acronyme signifiant « Problem Exists Between Keyboard And Chair ».
Le problème se situe entre la chaise et le clavier : soumettez vos histoires, donnez votre avis !
Ce site n'est pas le site original pebkac.fr. Je publie ici la liste des PEBKAC que j'ai pu sauvegarder avant que le site original ne soit mis hors ligne.
Un ami me montre un extrait de code avec lequel il rencontre des problèmes : le programme fait une boucle infinie en parcourant une liste chaînée. Je regarde ça et, en exécutant pas-à-pas, je tombe sur ce code :

liste.dernier_element = liste.premier_element // on fait une boucle pour revenir au début

En clair, il essayait de parcourir un Ouroboros. Mais le pire, c'est qu'au vu des commentaires, ça semblait ne lui poser aucun problème. PEBKAC.
PEBKAC #9567 proposé par Somadeva le 04/03/2014 | 9 commentaires | 👍🏽 👎🏽 +148
+1 pour l'emploi du terme "ouroboros" /o/
Commentaire #132382 écrit par neemzy le 04/03/2014 à 09h10 | 👍🏽 👎🏽
Le parcourir n'est pas le plus sorcier, tant qu'on est certain que dans le pire des cas on a une simple boucle. On peut tester si on retombe sur l'élément de départ. Parcontre ça ne marche plus des qu'on a un graphe un poil plus ocmplexe.
Commentaire #132394 écrit par triman le 04/03/2014 à 09h55 | 👍🏽 👎🏽
Le problème pour moi, ce n'est pas qu'il ait un liste bouclée (surtout si elle est blonde). Je vois pas pourquoi comme ça, mais pourquoi pas. Le problème est plus qu'il n'y ait pas de conditions d'arrêt, ou qu'elle(s) soi(en)t invalide(s) ou incomplète(s).
Commentaire #132412 écrit par ygnobl le 04/03/2014 à 10h48 | 👍🏽 👎🏽
Sachant que c'est aussi le titre d'un album de métal japonais ça m'a porté à confusion l'espace d'une seconde ^^

EDIT : D'après Wikipedia ça peut être un sacré paquet de choses aussi.
Commentaire #132419 écrit par Noname le 04/03/2014 à 11h45 | 👍🏽 👎🏽
moi je comprend surtout pas l'exemple de code que tu donnes…
à priori les listes chaînées circulaires c'est tout à fait normal, donc le PEBKAC est pas vraiment là, c'est juste que sa fonction de parcours de la liste est foirée.

mais le bout de code c'est quoi? la construction de la liste? le parcours de la liste?
et à priori un élément d'une liste ça a un pointeur vers l'élément suivant, éventuellement un pointeur vers l'élément précédent, mais là c'est quoi liste.dernier_element, liste.premier_element ? Bref je n'ai pas compris le PEBKAC et le code donné me rends encore plus confus sur la nature de celui ci donc j'attends avec hâte des précisions ! ;)
Commentaire #132458 écrit par yomama le 04/03/2014 à 13h30 | 👍🏽 👎🏽
Sa fonction de parcours est foireuse parce que c'est une fonction de parcours de liste circulaire. Elle aurait fonctionné si ce n'était pas une liste simplement chaînée qu'il souhaitait parcourir.

Ça me rappelle quand j'ai rempli mon réservoir Diesel avec du sans plomb. Au fond c'est moi qui était dans le vrai, parce que si ma voiture tournait au sans plomb, ça aurait marché.
Commentaire #132468 écrit par Noname le 04/03/2014 à 13h43 | 👍🏽 👎🏽
Oui Yomama, l'exemple de code sème la confusion pour moi. On dirait que cette ligne a pour but de copier le premier élément dans le dernier élément (enfin, je dis "on dirait" car je ne reconnais pas le langage utilisé pour le coup).
Commentaire #132522 écrit par Youplà le 04/03/2014 à 16h03 | 👍🏽 👎🏽
Je me suis trompé en recopiant le code. C'était liste.dernier_element->next = liste.premier_element. Et c'est du C.
Commentaire #132547 écrit par Somadeva le 04/03/2014 à 17h53 | 👍🏽 👎🏽
Pour moi ça veut dire "boucle infinie", puisque le symbole communément associé à ce terme est celui d'un serpent qui se mord la queue. Pour Somadeva aussi a priori :)

[/HS]
Commentaire #132647 écrit par neemzy le 05/03/2014 à 09h22 | 👍🏽 👎🏽