The idea behind 101 wiki is simple, let’s try to have as many implementations as possible for the same scenario, a simple Human Resource Management System (the so-called 101companies System) so that we can help people (teachers, students, developers, software technologists, etc) understanding and comparing programming technologies. The project was started by Ralf Lämmel’s together with Thomas Schmorleiz and Andrei Varanovich.

The specification of the 101companies System contains several optional features which implementations can choose to implement in the interest of demonstrating specific programming technologies or capabilities thereof.

Right now, more than a hundred implementations are available (including many popular languages like Scala, Ruby, Haskell or python). Of course, there are differences in the completeness and quality of each implementation but since the whole project is completely open source, you can contribute an improved implementation or choose a new technology not yet in the repository and help them to cover even more languages.

I do believe it can be a very useful tool to get a feeling on how different languages compare and work. It’s not about which language is the best one, it’s about seeing how each language uses different features to solve the same problem and then choose the best one depending on each person’s interests and context.