Skip to content

breck7/pldb

Repository files navigation

title PLDB: a Programming Language Database

import code/ciBadges.scroll

PLDB is a public domain database and website containing over 135,000 facts about over 4,000 programming languages.

This repo contains the entire database, code, and website for https://pldb.io.

## To analyze the data
The PLDB database is freely available:
- As CSV: https://pldb.io/pldb.csv
- As JSON: https://pldb.io/pldb.json
- The JSON file is also available via npm:
javascriptCode
 // npm install pldb
 console.log(require("pldb").javascript.appeared)
Documentation for the CSV is available here: https://pldb.io/csv.html.

## To add a new language
Easy method: https://pldb.io/create.html
Advanced method: Create a new file in `concepts` with a unique URL friendly filename ending in `.pldb` and send a pull request.

## To update a language
Easy method: https://pldb.io/
Advanced method: Edit the corresponding `concepts/*.pldb` file and send a pull request.

## To add a new measure
Advanced method: Edit or create a new file in `measures/` and add at least 1 measurement to a concept in `concepts` and send a pull request.

## To run the site locally
code
 git clone https://github.com/breck7/pldb
 cd pldb
 # Required to run this during first install only.
 npm i -g cloc
 # Required to run this on fresh checkout and when upgrading from an old checkout or periodically when there are new releases
 npm install .
 # Run tests
 npm run test
 # Start the dev server
 npm run local
 # Or to rum the local site statically
 npm run static
 # After you make changes and before you commit make sure to run:
 npm run format

## To explore this repo
The most important folder is `concepts`, which contains a file for each entity. The folder `measures` contains the grammar files (schema) for the database.
The website content is in the `site` folder.
The `code` folder contains importer scripts and other code for the database and site.
You can see the `cloc` language stats on this repo at https://pldb.io/pages/about.html.

## To use as an npm package:
code
 npm install pldb
javascriptCode
 console.log(require("pldb").javascript.appeared)

## To cite PLDB
PLDB content is published to the public domain and you can use it freely. If needed, here are 3 options for citing PLDB:
code
 https://pldb.io
code
 PLDB contributors. (2022) - "PLDB: a Programming Language Database". Retrieved from: 'https://pldb.io' [Online Resource]
code
 @article{pldb,
  author = {PLDB contributors},
  title = {PLDB: a Programming Language Database},
  journal = {PLDB},
  year = {2022},
  note = {https://pldb.io}
 }

All sources for PLDB can be found here: https://pldb.io/pages/acknowledgements.html

About

PLDB: a Programming Language Database. A computable encyclopedia about programming languages.

Topics

Resources

Stars

Watchers

Forks

Sponsor this project