Giter Club home page Giter Club logo

pldb's Introduction

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

pldb's People

Contributors

breck7 avatar codelani avatar stavares843 avatar rkimera94 avatar mahadwaseem123 avatar celtic-coder avatar hassamalhajaji avatar pldbbot avatar adriantintpilver avatar sarang0218 avatar stuartdambi avatar pavelvozenilek avatar lngns avatar dancergraham avatar tif-calin avatar rtfeldman avatar josevalim avatar lguzzon avatar shaiber avatar hirrolot avatar yairchu avatar martinfjohansen avatar wickedsmoke avatar johnwcowan avatar cyberneticist-uk avatar superfola avatar wisentini avatar munksgaard avatar nairboon avatar safrullahismail avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.