If your true goal is to have fun while programming, why not just play a Zachtronics game (TIS-100 or Shenzhen I/O)? Same difficulty as programming a piece of software (if not more difficult), but no dealing with all of the complex annoyances of programming languages.