Je sais qu'on critique beaucoup à PHP son bagage du passé, qui a été gardé pour la rétro compatibilité, c'est pas forcément top, mais j'ai acheté des cours sur l'IA, où tout se fait en python, et ils installent python 2.7 car sinon ça ne passe pas entre les différents outils avec les dernières version, c'est quand même moyen, ça fait 9 ans que python 3 existe, et on se retrouve encore parfois à devoir utiliser python 2.7 (qui est toujours mis à jour, c'est donc que ça ne doit pas être si rare que ça).
Elle est vraiment super partielle l'absence de retro compatibilité entre Python 2 et Python 3, les changement a faire sont dans la majorité des cas triviaux.
Non je pense que le vraiment probleme est encore une fois l'essence meme chere a certain dans le monde de l'OSS, descendre en fleche un produit parce qu'on ne l'aime pas meme si il est bon, ou mettre en avant un produit parce que qu'on l'aime meme si c'est une sombre merde. Et c'est d'autant plus efficace qu'on est a une position dominante (je ne citerais aucun projet, ni aucune boite, mais vous savez probablement de qui et de quoi je veux parler)
Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
-Werror=implicit-function-declaration (les grandes distributions GNU/Linux compilent leurs paquetages avec ça de nos jours).
Oh y'avait un warning, c'est juste que je l'ai ignoré à tort.
—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT Turbo Pen^2 Le 07/06/2017 à 11:50 ah oui.
Sinon concernant ta seconde version, ça ne fonctionne toujours pas, si ?
En sortie de portée tu as p qui existe toujours mais qui pointe vers un truc abandonné de la pile ?
Ce n'est pas une super pratique mais si P n'est pas utilisé apres ce n'est pas un probleme.
Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
La première version est bien incorrecte, le compilateur peut (mais n'est pas obligé de) générer du code qui restaure la pile immédiatement pour économiser les 42 octets (intéressant surtout sur une plateforme embarquée et/ou si l'appel de fonction est un appel récursif) et du coup l'écrase avec l'appel de fonction.
La deuxième version est correcte à condition que la fonction appelée n'essaie pas de stocker le pointeur quelque part dans une variable globale ou statique.
Pen^2 Le 07/06/2017 à 14:08 Elle est correcte mais inutilement dangereuse, c'est tout ce que je voulais dire.
Et tu proposes quoi comme alternative? Si tu utilises malloc et free, ce sera la même chose (use-after-free si la fonction garde le pointeur), si tu omets le free, tu leakes de la mémoire. Il faut savoir ce que fait la fonction appelée avec le pointeur.
Uther Le 07/06/2017 à 14:15Edité par Uther le 07/06/2017 à 14:22 Un langage comme Rust refuserait tout simplement de compiler ça. Il interdit tout simplement les pointeurs invalides à moins de recourir a un bloc unsafe explicite.
Uther Le 07/06/2017 à 14:17 Oui, ça fait ça dans quasiment tous les langages avec une syntaxe à la C .
(certains abusent meme de ca pour faire des declarations locales, c'est.. assez moche
Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Nil Le 07/06/2017 à 15:11 Eh ben, je me coucherai moins bête ce soir O_o cela dit, je viens de tester en PHP et ça me rassure : ce n'est pas le comportement observé (je trouvais ça bizarre, j'ai pour habitude de commenter mes structures de contrôles pendant le debug mais en laissant les accolades sans aucun effet de bord... du coup les accolades sont bien ignorées à l'interprétation.