While looking browsing at Quora I found this posting by a professor in New Zealand on why certain programming languages are taught at universities while being suboptimal for teaching. Reminds me of this article by Edsger Dijkstra ‘On the cruelty of really teaching computing science’ I had recently read.
A point Dijkstra raises is the problem of explaining by using solely analogies – ‘never refer to parts of programs or pieces of equipment in an anthropomorphic terminology, nor allow your students to do so’.
Avoid using the term ‘bug’, use ‘error’ instead. A bug a fault in software just happens, while an error clearly indicates what it is: wrong code, by fault of the programmer. And ‘programs wanting things, knowing things, expecting things, believing things, etc., and each time that gave rise to avoidable confusions. The analogy that underlies this personification is so shallow that it is not only misleading but also paralyzing.
To wrap up, I’m now sitting in a Seats2meet location in Amersfoort, a place where you can work as freelancer. More quiet then an Internet cafe, but a lot more inspiring then working alone at home. During lunch I met someone who has a youtube channel explaining math – in Dutch. He uses lots of like here: after all anthropomorphic might be bad, examples are certainly not.