Sylvestre Ledru
👤 SpeakerAppearances Over Time
Podcast Appearances
C'est des langages qui sont géniaux, mais qui deviennent tellement compliqués et qui ont tellement de problèmes intrinsèques dans leur conception que toute l'industrie se dit « c'est fini avec ces C++, on galère ».
On passe notre temps dans Firefox à corriger des bugs qui sont causés par des erreurs de programmation dans C et C++.
Et c'est la même chose chez Google, c'est la même chose chez Microsoft, etc.
On a beau avoir la capacité d'embaucher les meilleurs gérateurs de la planète, on s'aperçoit que même les meilleurs développeurs de la planète font des erreurs de programmation toutes bêtes.
On en revient tout à l'heure, c'est la gestion de la mémoire.
C'est très compliqué dans ces langages-là de faire de manière parfaite.
Quand tu veux créer une chaîne de caractères, par exemple, tu vas faire un malloc, c'est-à-dire Memory Allocator.
Donc, tu vas lui dire, je veux que tu dis au système d'exploitation, je veux que tu me crées un espace mémoire de 200 caractères dans lequel je vais mettre ma chaîne de caractères qui va être Bonjour Micode, par exemple.
Donc tu vas avoir cette chaîne de caractère, et puis après, dans cet espace mémoire, tu vas copier la chaîne de caractère dedans.
Il ne faut pas que tu oublies l'antislage 0, qui est l'indicateur de fin de ligne.
Et après, tu vas faire des opérations dessus, donc par exemple l'afficher ou l'envoyer sur le réseau.
Et surtout, il ne faut pas que tu oublies après de la libérer, la mémoire.
Parce que, comme le C est un langage qui a été conçu il y a très longtemps, on voulait vraiment contrôler la mémoire de manière très fine.
Donc je veux dire, une fois que j'ai fini d'utiliser, manuellement, il faut supprimer.
Alors il y a plein de techniques de protection maintenant, mais même encore maintenant, en 2025, quand tu fais une erreur de programmation de la gestion de mémoire, tu as ton programme qui peut complètement crasher.
Alors les attaqueurs, ce qu'ils arrivent à faire de manière très subtile et souvent maintenant de plus en plus complexe, c'est trouver ces cas d'erreur et après réussir à écrire des informations, des vecteurs d'attaque dans la mémoire un peu cachée, gérée par le système d'exploitation qui va être utilisée pour exploiter les failles de sécurité dont on parlait au début.
Mais en effet, il faut avoir une gestion très fine de la mémoire et il faut avoir un degré d'expertise qui devient de plus en plus élevé pour pouvoir le faire, les logiciels devenant de plus en plus complexes.
Alors, les premiers processeurs, tu envoyais une opération et tu attendais le résultat.
Alors, ça va très, très vite, même dans les années 2000, 90, c'était déjà des vitesses phénoménales.
Mais la loi de Moore, c'est tous les ans, on double les capacités des CPU tous les 18 mois.