Just before thanksgiving, I made my first formal release of the Sample Programs repository because we finally reached 100 languages. Let’s talk about how we got here.
Table of Contents
Launching the Project
I launched the Sample Programs project just 3 days before my wedding as an idea for 100 Days of Code. I thought maybe I could write a Hello World program with a brief article every day for 100 days, but that quickly became exhausting. In addition, I found that there were already several Hello World collections, so I didn’t feel like I was doing anything unique.
That said, I was having a lot of fun exploring languages that I had never even heard of such as Red, Wren, and Scala. However, at some point, the little Hello World in Every Language project began to outgrow itself.
Eventually, I decided to open up my project to other types of programs like fibonacci, factorial, and fizz buzz. At the same time, I abandoned the 100 Days of Code commitment, so I could focus on much more long term goals for the project.
Getting Some Help
Unfortunately, I had one major problem: I needed help to sustain the project. As a possible solution, I tried to leverage social media, but that ended up being a waste of time.
That was until I stumbled upon Ben Halpern’s twitter profile. See, I had been following a lot of tech folks with the hope that they may be interested in helping out with the project, but nothing was going my way. At some point, I ended up following Ben who founded dev.to, a tech community website.
Over time, I noticed that Ben would do weekly posts where developers could share their open-source projects, so I figured why the hell not? After dropping my project in the comments, I started to get a steady flow of contributors.
Thanks to Ben, I probably have 5 or so regular contributors which is insane to me. Overall, I’ve had 58 contributors as well as 99 stars and 78 forks since launching the project. I’d say that’s a very successful project for starting from nothing.
Of course, I don’t think the project really got the exposure it needed until October when I started to leverage Hacktoberfest, an annual pull request event. Just by tagging a few issues, I was able to get a wealth of contributors over the span of that month. In fact, the influx of contributions forced me to rework the project several times.
As a reaction, we began enforcing a program requirements file before we allow new program contributions. In addition, we launched a GitHub Pages site which hosts all of our documentation in the same repo. All-in-all, October had been very good to us.
Hitting 100 Languages
Well, I can’t exactly write an article declaring the 100 languages accomplishment without writing about it, so let’s take a look!
As of November 22nd, 2018, we’ve officially collected enough code snippets to cover 100 programming languages. Here’s the official list:
- Agda
- Abap
- ALGOL68
- Ada
- AppleScript
- Bash
- Befunge
- Brainfuck
- Ballerina
- C++
- Crystal
- COBOL
- C*
- C#
- C
- Carp
- Chapel
- Clipper
- Dart
- Dale
- D
- Dg
- Elixir
- Emojicode
- Egison
- Elm
- Elena
- Eve
- Erlang
- Fetlang
- Ferret
- Felix
- Forth
- FORTRAN
- F#
- Factor
- Frege
- Gravity
- Goby
- Google Apps Script
- Go
- Groovy
- Golo
- Haskell
- Hack
- Idris
- JavaScript
- Java
- Julia
- Koka
- Kotlin
- Kitten
- Lily
- Lolcode
- Lua
- Lisp
- Little
- MoonScript
- MojiScript
- MATLAB
- Nim
- Never
- Owl Lisp
- Orc
- Opa
- Objective C
- OCAML
- Octave
- Odin
- PHP
- Python
- PowerShell
- Pascal
- Pony
- PicoLisp
- Perl
- Pyret
- Quack
- Rust
- Ring
- Rexx
- Red
- Ruby
- R
- Racket
- Solidity
- Swift
- Shen
- Scala
- Scheme
- Smalltalk
- Tcl
- Tex
- TypeScript
- Vimscript
- Verilog
- Visual Basic
- Wren
- Wu
- Wyvern
If you’re interested in more information like the number of snippets or number of articles per language, check out the official release on GitHub.
Looking Ahead
Naturally, I can’t help but look ahead as I continue to watch the project grow. At 100 languages, we’ve just barely scratched the surface, so why would we stop now?
Coming up, I expect to publish a release for 250 code snippets by the end of the year. If I’m lucky, I might hit 100 articles as well, but we’ll see. In either case, expect another article like this one.
Recent Posts
While creating some of the other early articles in this series, I had a realization: something even more fundamental than loops and if statements is the condition. As a result, I figured we could...
Today, we're expanding our concept map with the concept of loops in Python! Unless you're a complete beginner, you probably know a thing or two about loops, but maybe I can teach you something new.