HeadlinesBriefing HeadlinesBriefing.com

De Meilleures Batteries : Architecture Sociale de la Bibliothèque Standard

Hacker News •
×

L'un des schismes éternels en programmation concerne le fait que la bibliothèque standard doit-elle être minimale ou exhaustive. C'est la mauvaise question. La bonne question est : quelle architecture sociale crée une bibliothèque standard de haute qualité? Python est toujours mentionné comme exemple de piles qui fuient et explosent lentement, mais cela n'a rien à voir avec la taille. Le problème avec la bibliothèque standard de Python est sa qualité inégale. Certains modules de la bibliothèque standard ne suivent même pas les conventions de nommage du langage! Mais même cela n'est pas une erreur: c'est un avantage du noyau de Python: il rend la fonctionnalité disponible tôt. C'est ainsi que nous avons fini avec une API C ossifiée qui fait de CPython le langage, mais c'est aussi ainsi que Python a propulsé la révolution scientifique des données.

La bibliothèque standard de Go est tout aussi exhaustive, mais très respectée. L'équipe de Go a la capacité institutionnelle de fournir des API bien conçues, et même plus: golang.org/x.

Rust est un cas intéressant. Les API de la bibliothèque standard 1.0 sont brillantes. Les collections et les itérateurs sont une œuvre d'art. Mais bien que l'équipe actuelle ait la capacité de préserver les API existantes, la capacité à mettre en œuvre des décisions de conception est limitée. Tandis que golang.org/x capture l'excès de capacité, rust-lang-nursery est un cimetière. La raison pour laquelle Rust n'a pas d'API pour obtenir un flux d'octets aléatoires depuis le système d'exploitation en 2026 est qu'elle nécessite une architecture organisationnelle délicate pour résoudre ce problème de coordination mondial appelé langage de programmation.

Entités clés: Entreprises: Python, Go, Rust

Source: Hacker News · Résumé par HeadlinesBriefing