C'est un coup de gueule de ma part qui dépasse largement PHP. Selon moi c'est exactement le même type de scandale qui fait qu'on peut encore avoir des buffers overflow en C alors que c'est une classe de problème largement connue et étudiée, sur laquelle on a tout dit ou presque.
Ce sont des problèmes que la profession devrait prendre à bras le corps, bosser réellement avec des chercheurs sur les spécification des langages et les outils associés. En parsant une entrée en fonction de la grammaire d'un langage, qui devrait être spécifié, on devrait pouvoir avoir une solution générique qui vérifie qu'une chaîne ne s'interprête pas dans ce langage. En typant les variables chaîne pour les annoter avec le langage qu'elles sont supposées contenir, on devrait pouvoir vérifier qu'une fonction qui va générer du SQL ne reçoit pas une entrée qui n'est pas de type "entrée qui est passé par la fonction qui vérifie que la chaîne n'est pas du SQL" ...
Sauf qu'on a jamais vraiment su faire parler des chercheurs qui font des langues formelles avec l'industrie sérieusement comme la Méthode_B, les gens qui font des langages comme Haskell ont du mal à parler avec des gens qui font de la vérification ... C'est pas les compétences qui manquent. Faut arrêter de se chercher des excuses et se mettre à bosser là dessus sérieusement.
[^] # Re: Typage strict
Posté par thoasm . En réponse à la dépêche Sortie de PHP 7.0 - un nouveau départ. Évalué à 4.
C'est un coup de gueule de ma part qui dépasse largement PHP. Selon moi c'est exactement le même type de scandale qui fait qu'on peut encore avoir des buffers overflow en C alors que c'est une classe de problème largement connue et étudiée, sur laquelle on a tout dit ou presque.
Ce sont des problèmes que la profession devrait prendre à bras le corps, bosser réellement avec des chercheurs sur les spécification des langages et les outils associés. En parsant une entrée en fonction de la grammaire d'un langage, qui devrait être spécifié, on devrait pouvoir avoir une solution générique qui vérifie qu'une chaîne ne s'interprête pas dans ce langage. En typant les variables chaîne pour les annoter avec le langage qu'elles sont supposées contenir, on devrait pouvoir vérifier qu'une fonction qui va générer du SQL ne reçoit pas une entrée qui n'est pas de type "entrée qui est passé par la fonction qui vérifie que la chaîne n'est pas du SQL" ...
Sauf qu'on a jamais vraiment su faire parler des chercheurs qui font des langues formelles avec l'industrie sérieusement comme la Méthode_B, les gens qui font des langages comme Haskell ont du mal à parler avec des gens qui font de la vérification ... C'est pas les compétences qui manquent. Faut arrêter de se chercher des excuses et se mettre à bosser là dessus sérieusement.