This a great article - both interesting and potentially really useful to folks teaching- or learning- programming.