
Hi Arthur, <<SNIP>>
Should the language be designed to prevent conceptual errors by folks who haven't made it to Chapter 3 of its introductory tutorial. For reasons that I can't even explain to myself, the argument that it should - if and to the extent that argument has been advanced in these discussions - makes me nuts.
That's understandable - I've seen many people call themselves database designers simply because they can use Microsoft Access, although it is obvious from their work that they don't understand the conceptual issues involved. In fact, they break many of the essential rules the 'trained' DB designer is taught to uphold. To listen to someone advocate creating these kinds of workers would frustrate me as well. But in this case the errors do not occur because students do not understand the concept. They may understand the concept perfectly, but because they are so familiar with arithmetic and "calculator" division, and because they have been using these forms of division far longer and more often than integer division, they forget that Python does things differently and as a result create a "gotcha" in their code. They of course will remember this when an error occurs, but that could happen be in a production environment.
A more interesting argument is to what extent we should concern ourselves about those with an interest in learning to program who who read Chapter 3 carefully, and can't follow it - don't have the background to make any sense of it.
That's certainly worth talking about. But first we need to have some evidence that such a population exists, which we do not. Or that, if such a population does exist, programming language design is a reasonable arena in which to expect to be able to offer them help[.
I think we could safely say the current target audiences for Python should be old enough that they have a solid grounding in whatever pre-requisite knowledge they need to learn Python and programming in general. However, as you say it would be interesting to know what those pre-requisites are! After all, how long until 7-8 year olds start trying their hands at programming? (If they aren't already.) Kevin