"We sold our programming soul when we began teaching the pedagogically unsound
and intellectually ugly languages C and C++ to beginners" - David Gries (IEEE
Computer, October 2006, p.81). Gries uses "an OO-first approach in Java, with
all
aspects of OO, including inheritance, casting, and so on, coming before
recursion and loops"