Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Sylvestre Ledru

👤 Speaker
223 total appearances

Appearances Over Time

Podcast Appearances

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

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 ».

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

On passe notre temps dans Firefox à corriger des bugs qui sont causés par des erreurs de programmation dans C et C++.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

Et c'est la même chose chez Google, c'est la même chose chez Microsoft, etc.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

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.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

On en revient tout à l'heure, c'est la gestion de la mémoire.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

C'est très compliqué dans ces langages-là de faire de manière parfaite.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

Quand tu veux créer une chaîne de caractères, par exemple, tu vas faire un malloc, c'est-à-dire Memory Allocator.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

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.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

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.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

Il ne faut pas que tu oublies l'antislage 0, qui est l'indicateur de fin de ligne.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

Et après, tu vas faire des opérations dessus, donc par exemple l'afficher ou l'envoyer sur le réseau.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

Et surtout, il ne faut pas que tu oublies après de la libérer, la mémoire.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

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.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

Donc je veux dire, une fois que j'ai fini d'utiliser, manuellement, il faut supprimer.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

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.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

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.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

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.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

Alors, les premiers processeurs, tu envoyais une opération et tu attendais le résultat.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

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.

Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)

Mais la loi de Moore, c'est tous les ans, on double les capacités des CPU tous les 18 mois.