Whenever I wanted to learn a programming language, I sooner or later wanted to write something sensible, not just "stupid" exercise programs. I could barely ever think of anything actually making sense for several reasons - not wanting to reinvent the wheel - wanting something I’d actually have a use for - wanting something I’d be motivated to extend - not wanting to write hundreds of lines before any results - etc. Recently some things came to mind which, for me, are sensible things to solve in a new language if one can’t think of something by oneself, since they fulfill some kind of practical learning purpose and are possibly reusable. They may also lead to new ideas. - plugin/module architecture - configuration file parsing, possibly in many different formats - command line option/argument/command parsing - graphical configuration dialog