<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/better-batteries-dodp9yzzv" -->

---
title: Better Batteries | daily.dev
description: An essay argues that the real question about standard libraries isn&#x27;t whether they should be minimal or encompassing, but whether the maintaining organization...
canonical: https://daily.dev/posts/better-batteries-dodp9yzzv
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Better Batteries | daily.dev
og:description: An essay argues that the real question about standard libraries isn&#x27;t whether they should be minimal or encompassing, but whether the maintaining organization...
og:url: https://daily.dev/posts/better-batteries-dodp9yzzv
og:image: https://api.daily.dev/og/posts/dODP9yzzV.png
og:image:alt: Better Batteries
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Better Batteries

**[matklad](https://daily.dev/sources/matklad)** · 2 min read · 6 upvotes · 0 comments

## Summary

An essay argues that the real question about standard libraries isn't whether they should be minimal or encompassing, but whether the maintaining organization has the institutional capacity to design and evolve good APIs. Python's stdlib is inconsistent but enabled early experimentation that fueled its data science rise. Go's team is praised for strong stdlib design plus a thriving extended ecosystem (golang.org/x). Rust's 1.0 stdlib (collections, iterators) is called excellent, but its capacity to fill gaps and execute new API designs is seen as limited, with rust-lang-nursery described as a graveyard and the lack of a simple OS random-bytes API cited as an example of an organizational, not technical, failure.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://matklad.github.io/2026/08/20/better-batteries.html>

## Questions this post answers

### Why doesn't Rust have a standard library API for getting random bytes from the OS?

Rust still lacks a simple standard API to get a stream of random bytes from the operating system, not because it's technically hard, but because solving it requires organizational coordination and funding within the Rust project. The rust-lang-nursery, where such experimental APIs would be incubated, is described as largely inactive, unlike Go's golang.org/x which successfully captures excess design capacity.

_Anyone weighing Rust's ecosystem gaps against alternatives can track these debates on daily.dev._

### Why is Go's standard library considered well-designed compared to other languages?

Go's standard library is considered well-designed because the Go team has strong institutional capacity to deliver polished APIs, both within the core library and in the supplementary golang.org/x repositories, which capture extra design effort that doesn't fit in the frozen standard library. This contrasts with Rust, where the equivalent nursery project has stagnated.

_Developers comparing Go and Rust ecosystem maturity can follow this discussion on daily.dev._

## Similar posts on daily.dev

- [Unbundling the standard library](https://daily.dev/posts/unbundling-the-standard-library-riniarrpi) · Andrew Nesbitt · 0 upvotes · 0 comments
- [The C\+\+ Standard Library Has Been Walking Itself Back for Fifteen Years, and the Receipts Are Public](https://daily.dev/posts/the-c-standard-library-has-been-walking-itself-back-for-fifteen-years-and-the-receipts-are-public-tdkysrrko) · Lobsters · 6 upvotes · 1 comments
- [Choosing Rust for All the Wrong Reasons \(Diary of a Mercenary\)](https://daily.dev/posts/choosing-rust-for-all-the-wrong-reasons-diary-of-a-mercenary--p8m8obyxf) · Medium · 3 upvotes · 0 comments
- [Lessons learned building an extended standard library for Rust \(stdx\)](https://daily.dev/posts/lessons-learned-building-an-extended-standard-library-for-rust-stdx--edvlhvu6t) · Sylvain Kerkour · 2 upvotes · 1 comments
- [Battery packs: Let's talk about crates, baby · baby steps](https://daily.dev/posts/battery-packs-let-s-talk-about-crates-baby-baby-steps-dfnhmycxe) · Niko Matsakis - baby steps · 6 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python), [#golang](https://daily.dev/tags/golang), [#rust](https://daily.dev/tags/rust), [#language-design](https://daily.dev/tags/language-design)

[View this post on daily.dev](https://daily.dev/posts/better-batteries-dodp9yzzv)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Better Batteries","url":"https://daily.dev/posts/better-batteries-dodp9yzzv","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/better-batteries-dodp9yzzv"},"datePublished":"2026-08-20T21:36:52.992Z","dateModified":"2026-09-14T08:07:06.852Z","description":"An essay argues that the real question about standard libraries isn't whether they should be minimal or encompassing, but whether the maintaining organization...","image":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","thumbnailUrl":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","isAccessibleForFree":true,"articleSection":"matklad","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"matklad","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/c34dbbf360354a179786e8a127718b12","url":"https://daily.dev/sources/matklad"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/better-batteries-dodp9yzzv","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":6},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python,golang,rust,language-design","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"matklad","item":"https://daily.dev/sources/matklad"},{"@type":"ListItem","position":3,"name":"Better Batteries"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/better-batteries-dodp9yzzv#faq","mainEntity":[{"@type":"Question","name":"Why doesn't Rust have a standard library API for getting random bytes from the OS?","acceptedAnswer":{"@type":"Answer","text":"Rust still lacks a simple standard API to get a stream of random bytes from the operating system, not because it's technically hard, but because solving it requires organizational coordination and funding within the Rust project. The rust-lang-nursery, where such experimental APIs would be incubated, is described as largely inactive, unlike Go's golang.org/x which successfully captures excess design capacity. Anyone weighing Rust's ecosystem gaps against alternatives can track these debates on daily.dev."}},{"@type":"Question","name":"Why is Go's standard library considered well-designed compared to other languages?","acceptedAnswer":{"@type":"Answer","text":"Go's standard library is considered well-designed because the Go team has strong institutional capacity to deliver polished APIs, both within the core library and in the supplementary golang.org/x repositories, which capture extra design effort that doesn't fit in the frozen standard library. This contrasts with Rust, where the equivalent nursery project has stagnated. Developers comparing Go and Rust ecosystem maturity can follow this discussion on daily.dev."}}]}
```

