Awesome
PLDB: A Programming Language Database
PLDB is a public domain ScrollSet and website, compiling over 135,000 facts about 4,000+ programming languages. This repository hosts the entire ScrollSet, codebase, and website for https://pldb.io.
📂 Downloading the Data
The PLDB data is available in popular formats, with full documentation:
📜 Contributing
Adding a New Language
Local Method
- Clone the repository.
- Create a new
.scroll
file inconcepts/
(e.g.,concepts/[newId].scroll
). - Use the Designer for autocomplete support.
- Submit a pull request.
Web Method
- Fork this repository.
- Visit:
https://github.com/[yourGithubUserName]/pldb/new/main/concepts
- Use the Designer.
- Submit a pull request.
Updating a Language
Click the edit button on the top right of a page and edit the language.
Adding a New Measure
Modify code/measures.parsers
and add at least one measurement in a concepts
file, then submit a pull request.
🚀 Building the Site Locally
git clone https://github.com/breck7/pldb
cd pldb
# Install dependencies (initial setup)
npm i -g cloc
npm install .
# Run tests (optional)
npm run test
# Build the site
npm run build
# Format changes before committing
npm run format
🔍 Repository Structure
concepts
: Contains the ScrollSet with one file per language/concept.code/measures.parsers
: Defines the schema for measurements in the ScrollSet.- Language Stats: See detailed language statistics at PLDB Stats.
📄 Citation
All sources for PLDB are listed on the Acknowledgements page.
💬 About PLDB
PLDB is a comprehensive database on programming languages for:
- Programming Language Creators: Discover data-driven insights to enhance language design by referencing historical data from thousands of languages.
- Programming Language Users: Gain a strategic perspective on the programming language landscape to advance projects and career goals.
Get Involved | GitHub Repository
Acknowledgements
PLDB is powered by many contributors and various open-source projects. Thank you to all! Full list on the Acknowledgements page.
Rankings Algorithm
PLDB ranks languages based on a composite score from five broad categories. The ranking algorithm details can be explored in The Rankings Algorithm.
📝 Release Notes
See major updates and breaking changes in the Release Notes.
History
Originally launched by Breck Yunits in 2017.