The Unix cat utility in many different languages. A teaching exercise.
Hello World is the traditional first program that is written by budding programmers. However, the program isn't very useful. And it's not supposed to be.
cat is probably one of the easier utilities to understand and write that is actually used. Additionally, it is sufficiently complex enough to have multiple ways of writing it within any particular language, allowing the new programmer to impart his or her own developing style to the code. Finally, cat has special conditions that require a little extra thought. A programmer could choose to omit the code for handling stdin for a simplified program, for example.
The aspiring programmer will have a program he or she will use on a regular basis. That feeling of using what you make hopefully provides encouragement to continue learning to program.
Want to help herd cats? Write your own version of cat. Any language will do! In fact, multiple examples of each language is good for demonstrating different styles.
Each implementation has its own license header. See LICENSE for a maintained list.