Index

Contribute

How to improve LangIndex content.

Contributing To LangIndex

LangIndex exists to give developers accurate, practical, community-maintained information about programming languages.

Contribution Principles

  • Be accurate before being comprehensive.
  • Prefer primary sources: official language docs, specifications, release notes, governance pages, repositories, and maintainer statements.
  • Avoid hype, dunking, and advocacy copy.
  • Explain tradeoffs in terms of use case, constraints, maturity, ecosystem, and operational cost.
  • Keep examples idiomatic for the language being described.
  • Mark uncertainty directly instead of smoothing it over.

Good Contributions

Useful contributions include:

  • Correcting factual errors
  • Adding missing official links
  • Improving examples
  • Clarifying design goals or historical context
  • Adding practical use cases and non-use cases
  • Updating stale version, tooling, governance, or ecosystem details
  • Improving comparisons between related languages

Language Page Standard

Each language page should eventually answer:

  • What is the origin of the language?
  • Why was it created?
  • What is it best suited for?
  • What is it not well suited for?
  • What are its most important language features?
  • What does idiomatic code look like?
  • What runtime, compiler, or interpreter does it normally use?
  • What package manager and build tools are common?
  • How mature is the ecosystem?
  • How is the language governed?
  • Which languages is it most often compared with?
  • When was this information last verified?

Source Standard

Use citations for claims about:

  • Language origin and authorship
  • Release dates
  • Governance or standards status
  • Performance claims
  • Adoption claims
  • Compatibility guarantees
  • Security or safety properties
  • Comparisons that depend on specific language features

Prefer official sources. If no official source exists, use the most authoritative available source and make the limitation clear.

See docs/sources.md for source and citation guidance.

Comparison Standard

Comparisons should be dimensional, not tribal.

Good comparison framing:

  • "Rust and Zig both target systems programming, but make different tradeoffs around memory safety, language complexity, and compile-time control."
  • "Python and Julia overlap heavily in scientific computing, but differ in ecosystem maturity, performance model, and deployment expectations."

Bad comparison framing:

  • "Language X is better than language Y."
  • "Nobody should use language X."
  • "Language Y is dead" without evidence and context.

Pull Requests

Pull requests should include:

  • A concise description of what changed
  • Source links for non-obvious factual claims
  • Notes about anything uncertain or intentionally omitted

Small, focused pull requests are easier to review than broad rewrites.

Use the templates in docs/templates/ when adding language or comparison pages. Local setup and verification commands live in docs/local-development.md.