> I think a primary issue with code is that the kind of people who like to explain it tend to think it has something to do with engineering, or an expression of a deeply objective scientific method. It seems to me that it has far more resemblance to a cargo-cult like set of cultural trends, riven with changing fashions, competing tribes and decisions based on hunches with no real evidence about anything at all. It is this of course that makes programming interesting and possible to poke fun at and celebrate in equal measure - and it seems you get further by teaching it based on this reality.