0 reply
0 recast
2 reactions
Low bikesheddability is an underrated feature of a programming language.
π€’ High bikesheddability examples:
- JS/TS has both `null` and `undefined`
- Node.js has multiple package managers: npm, yarn, pnpm
- Endless `tsconfig` options (CommonJS, ESM, etc.)
- No built-in test runner (mocha, jest, ava, vitest)
- Weak standard library leads to more dependencies (e.g. lodash, moment.js, axios)
π Low bikesheddability examples:
- Go and Rust come with formatters β no need to install or configure one
- Both have built-in test runners
- Both ship with solid, batteries-included standard libraries
- Both have a single de facto package manager (Go modules, Cargo)
- Rust includes Clippy, a linter β no need to choose or configure one 2 replies
2 recasts
5 reactions
1 reply
0 recast
1 reaction
1 reply
0 recast
0 reaction