Programming Languages reference data

Syntax, features, and comparisons of major programming languages.

  • 12 datasets
  • JSON · YAML · TOON
  • CC0 — public domain

Topic guide

What Programming Languages covers

Programming-language reference data compares languages by the ideas they are built on and the features they added: paradigms and typing disciplines, the concurrency models of Go and Rust, the modern features of C++, C#, JavaScript, Swift and TypeScript, the built-in vocabulary of Python and the metaprogramming of Ruby. Features are tied to versions, since most languages evolve continuously, and a feature that is idiomatic in one language can be unavailable or discouraged in another. A question about a language should always carry a version, because the answer for Python 2 and Python 3 or for ES5 and ES2024 differs.

Key ideas

Paradigm
A style of structuring programs, such as procedural, object-oriented, functional or declarative. Most languages are multi-paradigm.
Static vs dynamic typing
Static typing checks types before running, dynamic typing checks them at runtime. Gradual typing, as in TypeScript, adds static checks to a dynamic base.
Memory management
How a language reclaims memory: manual, garbage collection, reference counting or ownership rules such as Rust's.
Concurrency model
How a language handles simultaneous work: threads and locks, async/await, goroutines and channels or actors.
Compiled vs interpreted
Whether code is translated ahead of time to machine code, run by a virtual machine or interpreted directly. Many languages do a mix.
Language version
A specific release, such as C++20 or ES2022. Feature availability and standard-library behavior are version-specific.
Standard library
The functions and types that ship with a language, which shape what idiomatic code looks like.

Common pitfalls

  • Quoting a feature without its version, so users try it on a runtime that lacks it.
  • Comparing languages by a single benchmark or popularity ranking; fit depends on the problem and the team.
  • Equating typing discipline with safety: static typing catches some errors and memory-safe languages prevent others, but neither guarantees correctness.
  • Copying idioms between languages (for example exceptions in Go style or global state in Rust) without adapting them.

Using it from an agent

  • State the language version and runtime when giving code or recommending a feature.
  • Prefer the language's own standard idiom and cite the official documentation when unsure.
  • Run or reason through the code before presenting it; small syntax errors are common in generated snippets.

Start with: Popular Programming Languages Comparison · Python Built-in Functions

Datasets in Programming Languages

Fetch this category

One request returns the category with all of its dataset summaries. Append ?format=yaml or ?format=toon for the other encodings.

GET https://yjtoon.com/api/category/programming-languages?format=json

Search the library

Search by a topic, title, or keyword.

Start with a collection

Browse all 205 datasets