Feedback wanted on programming introduction (Python in Windows)

Alf P. Steinbach alfps at start.no
Wed Oct 28 03:43:05 EDT 2009


* Chris Rebert:
> On Tue, Oct 27, 2009 at 11:52 PM, Alf P. Steinbach <alfps at start.no> wrote:
>> [Cross-posted comp.programming and comp.lang.python]
>>
>> Hi.
>>
>> I may finally have found the perfect language for a practically oriented
>> introductory book on programming, namely Python.
>>
>> C++ was way too complex for the novice, JScript and C# suffered from too
>> fast-changing specifications and runtime environment, Java, well, nothing
>> particularly wrong but it's sort of too large and unwieldy and inefficient.
>>
>> I don't know whether this will ever become an actual book. I hope so!
>>
>> But since I don't know much Python -- I'm *learning* Python as I write -- I
>> know that there's a significant chance of communicating misconceptions,
>> non-idiomatic ways to do things, bad conventions, etc., in addition to of
>> course plain errors of fact and understanding in general, to which I'm not
>> yet immune...
>>
>> So I would would be very happy for feedback.
> <snip>
>>    http://preview.tinyurl.com/progintro
>>
>> Cheers,
>>
>> - Alf
>>
>> PS: Please use the groups, this thread, for feedback; not e-mail. -DS
> 
> - The slogan is "batteries included", not "all batteries included".
> - As a user of the platform, I can tell you it's "Mac OS X" (with a
> space, not a slash).

Thanks!

I'll fix that right away. :-)


> - ActivePython is a distribution, not an implementation. It's just the
> standard CPython from python.org with some bundled extras.

Thanks, but it's also a language implementation, the way I use that word :-). 
This is the same as the MinGW g++ C++ compiler is a language implementation, in 
spite of being just a packaging of the CygWin compiler. Its origin doesn't 
matter. But perhaps there is some better term than implementation, something not 
involving discussing distributions and derivative works and so on? I.e. a term 
that can be introduced in one line of text and is even more clear?


> - I might consider making the first example multiline. Most cringe at
> the use of semicolons in a Python program, although I can understand
> it might be easier for the newbie to type correctly.

Hm. I didn't know that about "most cringe at" semicolons in Python. But I still 
think the example is better on one line: short, concise, not introducing extra 
tool usage (which is what the reader absolutely *has* to relate to).


> - You might mention how unit testing is used in interpreted languages
> to detect many sorts of errors detected by the compiler in compiled
> languages

Yes, later. Unit-testing is done also for statically type checked languages. The 
big difference lies in how much testing and at what time; this involves in 
particular test-driven development (TDD). And it's touchy. Proponents of this 
and that methodology will invariably argue that their methodology is best... :-)



Cheers, & thanks,

- Alf

PS: I added back in [comp.programming], since I think it's simplest to have all 
the discussion, both Python-specific and general, in one single thread.



More information about the Python-list mailing list