Feedback wanted on programming introduction (Python in Windows)

Alf P. Steinbach alfps at start.no
Fri Oct 30 04:26:45 CET 2009


* Rhodri James:
> On Thu, 29 Oct 2009 16:53:05 -0000, Alf P. Steinbach <alfps at start.no> 
> wrote:
> 
>> There's rather a lot to know about the environment that a program 
>> executes in if one is going to create robust, dependable, generally 
>> usable programs, not just toy examples.
> 
> I'd say this was at best an extremely misleading statement.  The robust,
> dependable, usable, low-fat, carcinogen-free programs that I've written
> fall into two categories; either they are embedded programs whose
> environment is the silicon they're running on pretty much literally, or
> they carefully *don't* know about their environment so run equally
> effectively everywhere.  It's the programs that do know about their
> environment and go on to make assumptions about it that turn out
> not to be robust, dependable, or very often usable.
> 
>> Unfortunately even most professional programs do not handle the 
>> requirements of their environs very well, and I think that educators, 
>> even such as I, have a responsibility to now start teaching students 
>> to do things right. To take but one example that you may or may not be 
>> aware of, Microsoft's own Windows Explorer, the main GUI shell for 
>> Windows, which presumably was made by the best programmers available
> 
> Bwahahahahahahaha.
> 
> Uh, sorry.  I know that wasn't terribly nice, but the politest answer
> I can think of that gets over the utter wrongness of this assumption is
> "Hell, no."
> 
>> with the best knowledge of the program's environment, is unable to 
>> handle (such as delete) files or folders with paths greater than some 
>> 260 characters, is unable to handle filenames that differ only in case 
>> and are in the same directory, and is unable to e.g. delete a folder 
>> called "con"  --  although such files & folders can very easily be 
>> created.
> 
> You may or may not be aware that some of these things are limitations of
> the underlying disc format,

Sorry no, it isn't.

Even assuming you meant the more reasonable "file system", no, it isn't.

Depending on the file system a program may be unable to create such things as I 
mentioned. And depending on the program design it may be reasonable to refuse to 
create them.

But a program should have no trouble deleting the files etc. once they're there.

That's why the Windows API handles them just fine, while Windows Explorer does 
not. You may consider, since you're unfamiliar with the API, that mostly it's no 
problem doing these things in the command interpreter, which has no special 
support (rather, the reason it's easy is because it doesn't properly check 
command arguments). And from that you can deduce that the API support is there.



> and some of them limitations of the API.
> Laying them at the feet of Windows Explorer is a tad unfair.

Sorry, no. That's where the responsibility is. No other program or API is 
responsible.


>> In addition to such things impacting on the design and functionality 
>> of programs even just the tool usage is very complex and runs to a 
>> great many pages.
> 
> That rather depends on what tool you're using for what purpose.  Tools
> which require stonking amounts of flagging or button-pressing for simple
> uses are IMHO bad tools.  Most IDEs fall into this category.  If your
> tools make simple things hard, stop recommending them to people and get
> better tools.
> 
>> For example, for general tool usage in Windows the student needs to 
>> know about levels of environment variable specifications and file 
>> associations, which in turn requires knowledge of processes and the 
>> Windows registry database and various commands.
> 
> Mercifully this is rubbish.  For most purposes with most tools even
> Windows users don't need to know much if anything about environment
> variables and the registry.  Needing to know anything about the
> registry is usually a sign that Windows has stuffed you up royally.

I deduce that you mainly use IDEs and don't know about the things you're 
commenting on here (more than you did above). Sorry, but there it is.


>> * Martin P. Hellwig:
>>> I don't think it is a virtue to help adding to the pool of 
>>> programmers unaware of the command line, whatever platform that might 
>>> be.
>>
>> This comment baffles me.
> 
> The fact that you can say this and write "How to program" books
> terrifies me.  Don't make me compare you to Herbert Schildt!

I'm sorry but you haven't written anything correct in this article.


Cheers & hth.,

- Alf



More information about the Python-list mailing list