Lala langue

Spécialité(s)


Résumé

C, C++, Python, ADA, Ruby, Java, Rust, MISRA-C, Swift et j’en passe. Autant de noms de langages qui se voient associés pour leur plus grand bien ou pour leur malheur à la question de la sécurité. Ou de la sûreté. Ou les deux. En cinquante ans, les besoins ont évolué et avec eux les contraintes auxquelles les développeurs — et donc les langages qu’ils utilisent — sont soumis. Petite rétrospective à travers différents langages qui ont, ou ont eu, leur heure de gloire.


0. C

En 1972, quand le langage C sort des laboratoires Bell, les ressources sont faibles : peu de mémoire, fréquence d’horloge faible, Internet n’existe pas… Dans ce contexte, la sécurité n’est pas essentielle. Et cela peut se comprendre : avec de telles contraintes, on essaie d’optimiser chaque instruction, d’utiliser le moins de mémoire possible, certainement pas de contrôler la validité de chaque opération !

Beaucoup de concepts avec lesquels nous sommes familiers viennent d’ailleurs de cette période.

Compilation séparée ? Bien sûr, un compilateur ne peut pas faire tenir en mémoire des programmes trop gros (anecdote amusante : pour être conforme avec le standard ANSI C, un compilateur n’a pas besoin de supporter des identifiants de plus de… 6 caractères pour les identifiants externes et 31 pour les identifiants locaux. La place, je vous dis).

Gestion manuelle de la mémoire ? L’IBM Personal Computer, contemporain de cette époque,...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous