Language change and code breaks
digitig at cix.co.uk
Fri Jul 27 20:54:00 EDT 2001
In article <mailman.995479471.31821.python-list at python.org>,
mcherm at destiny.com (Michael Chermside) wrote:
> Roman (ironicly):
> > > Windows is case-insensitive and thus "easy to use" only before one
> > > needs
> > > to put web-pages on the real (UNIX) web-server. Then they
> > > understand all
> > > the troubles with mised case, national-charset filenames, abbr~ted
> > > filenames, local file references "C:\Mydocs\lalala", bmp-images etc.
> > But it's still open for debate whether the problem here is Windows or
> > Unix!
> I'm very surprised to hear this. Yes, I've taught lots of beginners, and
> I've found that they often complain about the case sensitivity. But I
> tell them that "Computers are EXTREMELY literal", and "you must be VERY
> precise when programming", and they get it. I also get complaints (not
> so many) about the computer not understanding a mis-spelled system call.
> It seems to me that whether the language requires case sensitivity or
> not, it is still very poor style to vary the capitalization of a given
> identifier. It's kind of like indentation... and (in Pascal, C, Basic,
> and other non-Python languages) I mark my student's programs WRONG if
> they don't use consistant indenting.
> Don't encourage sloppy habits: require case sensitivity.
> Besides... if you make identifiers NOT case sensitive, then when they
> try opening files or URLs and find that those ARE... they'll REALLY
> have problems.
Sorry to come into this debate rather late, but in my programming
community (mission critical systems) both case sensitivity /and/ case
insensitivity are seen as problematic and a rich source of bugs. The
hardliners would have it be an error to have two identifiers differing
only in case, the moderates would have it produce a warning. The latter
could be a way forward for Python. A message to the effect of "You are
using both 'Foo' and 'foo' in this program. You do realise they're not the
same, don't you?" would help the newbies and, with a suitably configurable
tool need not bother the experts because they'd turn the warning off. As
Guido (I think it was) points out elsewhere, the whole thing could be seen
as a tool issue, and I would consider it a good feature for a tool
(provided it /can/ be turned off). I /don't/ think the language should be
changed -- I'm already finding it impossible to get anybody to adopt
Python because of the (perceived?) instability of the language spec.
More information about the Python-list