Skip to content
/ pldb Public
forked from breck7/pldb

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

Notifications You must be signed in to change notification settings

fox-forks/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.com.

## To analyze the data
The PLDB database is freely available:
- As CSV: https://pldb.com/pldb.csv
- As JSON: https://pldb.com/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.com/csv.html.

## To add a new language
Easy method: https://pldb.com/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.com/
Advanced method: Edit the corresponding `concepts/*.pldb` file and send a pull request.

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

## To add a new feature
Advanced method: Create a new file in `questions/` like the other feature files in there. Try to add data from at least 10 languages along with your new feature.

## 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 `questions` 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.com/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.com
code
 PLDB contributors. (2022) - "PLDB: a Programming Language Database". Retrieved from: 'https://pldb.com' [Online Resource]
code
 @article{pldb,
  author = {PLDB contributors},
  title = {PLDB: a Programming Language Database},
  journal = {PLDB},
  year = {2022},
  note = {https://pldb.com}
 }

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

About

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

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.8%
  • Shell 2.2%