Feedback wanted on programming introduction (Python in Windows)
Alf P. Steinbach
alfps at start.no
Wed Oct 28 12:49:02 CET 2009
* Jon Clements:
> On 28 Oct, 08:58, "Alf P. Steinbach" <al... at start.no> wrote:
>> Without reference to an OS you can't address any of the issues that a beginner
>> has to grapple with, including most importantly tool usage, without which it's
>> not even possible to get started, but also, very importantly, a file system.
>> Learning programming without tools and without using files (or only using the
>> common denominator for file systems in OSes X, Y and Z) is sort of vacuous...
>> In addition there's the motivational factor.
> I certainly agree that focusing on Windows, you may be able to suggest
> certain tools. IDE's, RAD environments, etc...
I'm more thinking of things like the command interpreter.
It's rather different in Windows and *nix.
The first exploratory programs a novice makes almost have to be text-oriented,
thus, some exposure to the command interpreter from the start. And most
programming languages' text i/o facilities, including those of Python, are
oriented towards standard streams and redirection of them, done from some
command interpreter. And most Windows users, those who'd like to learn
programming, know nothing about that, so unless they learn in a setting with
knowledgable people around, it needs to be addressed in the text they're using.
> However, I'm sure you
> would consider that if you were writing a C++ guide, you would promote
> portability and the STL. Of course, both languages offer platform-
> specific libraries. Maybe a 'down side' with Python is that the
> "batteries included" also include some functions marked in the
> documentation as "Available on Windows only" etc... And specifically
> suggesting an ActiveState install
I suggested ActiveState because I know from earlier that their packages are easy
to install and provide documentation in reasonable Windows CHM help file format.
I did try the IronPython .NET implementation first :-). But my experience with
*nix folks' porting efforts is that they create Windows ports that don't handle
spaces in paths, don't even handle backspace in dialogs they present, require
undocumented environment variables set up (and explaining such takes a lot of
pages & is demotivating), and just generally without any forethought or any
reasonable automation, requiring a lot of explanation and hand-holding which
would run to many pages, so I didn't even look at the CPython implementation.
Perhaps I should.
However, since ActivePython is said here to be just be CPython + packaging +
stuff, I don't think there's any point in suggesting CPython, except perhaps to
get version 3.x but that would currently have its own problems wrt. libraries
and such, wouldn't it?
> which includes COM interop etc...
> (although I hope this would appear much later, if at all).
I haven't looked at that part of things yet in Python but I guess it's the same
as with other languages, some Automation-interface.
I can't think of anything useful to do with that, though, except that some
hardware is supplied with Automation interface drivers.
For example, if I wanted to automate Excel (Microsoft's spreadsheet) I'd rather
do that in VBA in Excel than in Python with COM interop driving the Excel
Microsoft has discontinued all the fun beginner's stuff that earlier was
available via Automation.
The only thing left in XP is the Microsoft assistant with an animated Wizard
figure on the screen, but IIRC that's discontinued already in Vista.
> PS. Can I suggest PSpad as an editor for the Windows environment, I
> much prefer it to Notepad++ and it may well be worth mentioning.
He he, it supports Esperanto!
More information about the Python-list