Interactive visualization for choosing the right programming language for your CLI tool, based on distribution channel coverage across operating systems.
CLI language selection is a coverage optimization problem, not a matter of taste.
This tool lets you:
- Select a language (TypeScript, Go, Rust, Python, Shell, Swift)
- Toggle distribution channels (npm, Homebrew, winget, pip, cargo, Docker)
- See coverage across OS/hardware segments (Windows, macOS, Linux, Docker/CI)
All percentages are absolute — there is only one 100% in the chart (all developers). Channel overlaps are accounted for (e.g., 80% of macOS npm users also have Homebrew).
Every CLI language comparison article ends with "it depends." This tool quantifies what it depends on — your users' OS distribution and the channels each language can reach.
Binary download and curl|sh are excluded from the analysis. They work for every compiled language and inflate all options to ~95%+, masking the real differences in package-manager reach.
| Data Point | Source |
|---|---|
| Developer OS distribution | Stack Overflow Developer Survey 2024 |
| ARM/x64 split | Apple Silicon transition timeline |
| winget penetration | Windows 11 ships natively; est. ~75% |
| Channel overlap | Estimated pairwise correlation coefficients |
No direct competitor exists for interactive "language x channel x OS" coverage analysis. Related resources:
| Resource | Type | Gap |
|---|---|---|
| Programming Language Selector | Interactive scorer | No distribution channel dimension |
| clig.dev | CLI design guidelines | Language-agnostic, no quantitative comparison |
| awesome-cli-frameworks | Curated list | No comparison matrix |
| Building Great CLIs in 2025 | Article | Discusses distribution per language, but prose only |
See REFERENCES.md for the full competitive analysis.
- Blog post (coming soon): Choosing the Right Language for Your CLI Tool: A Data-Driven Framework
Single static HTML file. No build step, no dependencies, no framework. Dark theme, responsive.