101companies: One system – more than 100 alternative software implementations

Ralf Lämmel’s visit is the perfect excuse to blog about his great project: 101 companies, created together with Thomas Schmorleiz and Andrei Varanovich.

The idea behind 101 companies 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 implementations leverage varying programming technologies and varying software languages dedicated to different technological spaces. 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 116 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.

The project has just recently started but I do believe it can be a very useful tool to get a feeling of 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.

Apart from the project web page, you can also check this pdf document to know more about the project.

If you enjoyed this post you can subscribe to this Software Modeling blog , follow me on twitter and/or subscribe to the portal’s mailing list . And if you really liked it help me pass it on to others by sharing the post using the links below. Don’t forget to check our consulting and sponsorship opportunities either!

5 Responses to 101companies: One system – more than 100 alternative software implementations

  1. jordi says:

    You may want also to take a look at other “program repositories” like Rosetta Code (http://rosettacode.org/wiki/Rosetta_Code ) or 99 Bottles of Beer (http://99-bottles-of-beer.net/).

    To see how they compare with 101companies, go to the related work in the pdf linked in the post.

  2. jb lezoray says:

    Very interesting ! Thank you for the link :-)

  3. [...] hackathon was to experiment on innovative Reverse & Re-engineering technologies by using the 101companies initiative as the source context (i.e. the legacy). To this intent, a small solution has been developed and [...]

  4. jordi says:

    Another somehow related an interesting initiative is ToDOMVC http://todomvc.com/ to help you select an MV* framework by providing a sample implementation of the same Todo application implemented using MV* concepts in most of the popular JavaScript MV* frameworks of today.

  5. [...] 101companies: One system – more than 100 alternative software implementations [...]

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress
More in experiment, modeling, programming, repository, survey
Why you need to learn OCL

Very high customer acquisition cost for MDD tools
pywebuml – create UML class diagrams from Java, C# and python files