If you're reading this article, you're probably interested in contributing to a new open-source project. Luckily for you, we have a project that is open to all experience levels. Say hello to Sample Programs in Every Language!
At a high level, Sample Programs is a collection of code snippets in as many programming languages as possible. As of today, we've hit 250 code snippets in 106 different programming languages.
Sample Programs in Every Language
Welcome to the Sample Programs in Every Language repository! What began as a simple 100 Days of Code challenge has expanded into a fun project Within this repository, you'll find a growing collection of sample programs in just about every programming language to date.
To get up to speed quickly, check out the contributing doc. Otherwise here are some helpful links:
- Wiki: a set of dynamic tables that track every language and snippet in the repo
- Projects: a list of projects currently accepting code snippets
- Discord: an invite to our community discord
- Code of Conduct: a copy of the Contributor Convenant
- License: a copy of the MIT license document
Sample Programs in Every Language is a project run by myself, Jeremy Grifski, as a part of my website, The Renegade Coder. If you're looking to…
Of course, there are many projects just like this one, so what makes ours different? As it turns out, we also write articles to explain every code snippet in our collection. Ideally, a user should be able to view a code snippet and find out how it works all in one place. That's our goal with this repository: all code snippets will have their own documentation.
Currently, our workload can be broken into two sets:
- Code Snippets
If you're looking for a project where you can contribute some knowledge from your favorite language, this is the project for you. We have plenty of opportunities for you to share code snippets. Or, if you prefer writing documentation, we could use your help with that as well.
At this time, we have about 22 people in our team working away regularly on the Sample Programs project. Since launch, the project has grown to 107 stars and 80 forks, but it's still small enough for you to make some meaningful changes. So, consider helping out!
At this time, we're looking to complete the following milestones:
- 200 Languages - 12/31/2019
- 500 Code Snippets - 12/31/2019
- 100 Articles - 6/30/2019
As you can see, a lot of our milestones have a whole year on them, but we'd be happy to bump them up with some more support.
In addition to code snippets and articles, we have a handful of side projects such as the Sample Programs Wiki:
The Sample Programs Wiki Generator
Currently, the Sample Programs Wiki Generator repo houses the
generate-wiki.py script which
we use in the Sample Programs repository to generate our wiki documentation. The script
is automated by a Travis CI build in the Sample Programs repo.
If you would like to propose a change, feel free to leverage the issues tab or make a pull request.
How It Works
generate_wiki.py script works by analyzing the information in the Sample Programs
repository and storing that information in objects. These objects are then used to
generate various wiki pages in Markdown.
What is Automated
Currently, the script generates 27 pages: 1 alphabet catalog and 26 alphabet pages.
The alphabet catalog contains a table with links to each alphabet page as well as meta data like the number of scripts and languages per letter. In addition, the alphabet catalog contains the total number of scripts…
Currently, we automate our own wiki which contains tables of metadata about our collection of code snippets. If you're interested in improving our current wiki, check out that side project.
In addition, I'm looking to start automating our releases. Recently, we wrote up a 100 languages release as well as a 250 code snippets release. Both of which were painfully time consuming, and I'm certain the process can be automated in the same way as the wiki. If anyone is interested in helping out on that front, let me know!
If nothing else, thanks for taking the time to learn about the Sample Programs project. If you have a moment, consider starring the repo to help our collection grow. Otherwise, take care, and happy new year!