LangIndex is an open source, self-hosted reference for programming languages.
Live site: langindex.dev
The goal is to become the best single place on the internet to understand programming languages: where they came from, what they are good at, what tradeoffs they make, how they compare to nearby languages, and how developers can start evaluating them with accurate, community-maintained information.
Why This Exists
There are more programming languages than any one developer can reasonably track. Wikipedia is useful, but it is not shaped around the questions developers ask when choosing, learning, comparing, or maintaining languages.
LangIndex is meant to be:
- Accurate: factual claims should be sourced and reviewable.
- Current: language communities should be able to correct and improve their own pages.
- Practical: pages should answer what a developer needs to know, not just preserve historical trivia.
- Neutral: language comparisons should explain fit and tradeoffs, not crown winners.
- Self-hostable: the public site should be reproducible from the open repository.
What Each Language Page Should Answer
Each language entry should aim to cover:
- Origin, history, creators, and design goals
- Best-fit use cases
- Poor-fit or risky use cases
- Language highlights and distinguishing features
- Syntax and examples
- Type system, runtime, memory model, and concurrency model where relevant
- Tooling, package management, ecosystem, and deployment story
- Governance, standardization, and implementation status
- Comparisons with related languages
- Official resources and high-quality community resources
- Last verified date
Contribution Model
LangIndex is intended to be maintained in public. Language authors, maintainers, and community contributors are encouraged to submit corrections, examples, and improvements for their languages.
The contribution standard is simple:
- Separate facts from judgment.
- Cite factual claims when they are not obvious from official documentation or source code.
- Prefer official sources for language design, releases, governance, and tooling.
- Explain tradeoffs clearly instead of writing advocacy copy.
- Keep examples small, idiomatic, and runnable when possible.
See CONTRIBUTING.md for the initial contribution rules.
Project Status
LangIndex is live at https://langindex.dev.
The v1.0 repository baseline is the current production stack: a Rust Cargo
workspace with Axum serving Leptos server-rendered pages, modeled after
Stephen's FileFerry site architecture. Production runs the release-built
langindex-site binary behind Caddy on Stephen's Ubuntu VM.
LangIndex ships four content groups:
languages— 61 individual programming language profiles.comparisons— 95 dimensional, tradeoff-first comparisons between related languages.guides— 25 cross-language decision guides framed by the problem the developer is solving.concepts— 40 shared programming-language ideas grouped by type systems, memory, runtime and execution, concurrency, paradigms, and tooling.
The initial milestone — defining the content model and publishing a source-backed seed set — is complete. Local development, deployment, content model, source, and editorial docs live under docs/.
Development
Common entry points:
just fmt
just check
just test
just build
See docs/local-development.md and docs/deployment.md for the full runbook.
License
Project code is licensed under the MIT License. LangIndex content and data are
licensed under Creative Commons Attribution-ShareAlike 4.0 International
(CC-BY-SA-4.0) unless noted otherwise. See LICENSE-CONTENT.md.