4.4.1 Readability and the speed with which Python can be learnt

It should be possible for students to quickly write (and understand) basic programs...

This is perhaps the strongest point in Python's favour. It's syntax is very cleanly designed and intuitive. At times it looks like pseudo-code, and to experienced programmers with no knowledge of the language simple programs are usually immediately comprehensible. This suggests that students would find it easy to understand, which was found to be the case during the trial.

As mentioned in Section 1.2.3, this is desirable as a student's enjoyment and interest in programming is increased if they can quickly write a functional and useful program and understand what they've done. This is one of the dilemmas faced by someone attempting to introduce a student to Pascal or C; the traditional ``Hello world'' program is relatively long and contains a number of constructs which the student must either ``take on trust'' as magic every program requires, or the author of the course must explain. Both alternatives are likely to deter the novice programmer. Python's ``Hello world'' program is:

    print "Hello world"

Programs which are functionally more complex still retain this readability and conciseness. As well as being more rewarding for students, it could allow more content to be squeezed into the limited time allowed for computing. If Python were used as the principal teaching language it might allow the setting of longer, more interesting problems. The standard library and large ammount of community-support aid this; a wealth of libraries already exist to do common tasks such as image manipulation.

Python (and scripting languages in general) are commonly used for projects which require rapid production of a usable application. This is because their conciseness of expression makes their use simpler. One quantitative measure of this is the number of lines of (non-comment) code in a program.

Studies of program length have been undertaken (generally as a component of a more wide-reaching language comparison). These invariably conclude Python programs are amongst the shortest in spite of their readability (which might reasonably be expected to make them more verbose)[#!shootout!#][#!empirical!#].

The perceived problem of its lack of rigorous declaration, which means that students do not become familiar with a common programming skill, does have advantages. It is one less thing that students either have to explain early on and seemed to accelerate their development through the language.

It is clear that the desire for students to quickly learn a language implies that language must have: