Matz’s third article for programming beginners with eight pages was published
on a magazine, Nikkei Linux Jul 2005, in Japan. He discusses how static or
dynamic typed languages such as Smalltalk, Lisp, Java and Ruby resolve (or do
not) single and multiple inheritance. There is a good example: Smalltalk’s
three Stream classes, Read/Write Stream. Yes, Ruby (and Lisp) has the wonderful
Mix-in. He also says that the multiple inheritance dilemma resembles that of
goto because they are too much functional to manage.