Feedback wanted on programming introduction (Python in Windows)
Alf P. Steinbach
alfps at start.no
Wed Oct 28 08:43:05 CET 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]
>> 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.
>> - 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).
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
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,
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