An evangelist's handbook? (Was: Re: Making a better textbook)

Ben Wiedermann benalan at cs.bu.edu
Fri Nov 8 16:00:41 EST 2002


claird at lairds.com (Cameron Laird) wrote in message news:<usnipihg3okna2 at corp.supernews.com>...
> In article <mailman.1036684936.1235.python-list at python.org>,
> Dave Brueck  <dave at pythonapocrypha.com> wrote:
> >On Wed, 6 Nov 2002, Dave Reed wrote:
> >
> >> I've been using Python for my own projects (from short scripts to
> >> 25,000 line apps) for almost three years now and can't imagine using
> >> anything else right for anything that wasn't extremely computationally
> >> expensive. After attending the panel, I talked my other colleagues
> >> into using it for our CS 1 course this fall. The only thing that
> >> bothers me about Python for teaching is the lack of enforced private
> >> members for classes. As an experienced programmer, I can live with
> >> that because I know better, but I don't know whether the students will
> >> believe me when I tell them it's a bad idea to directly access them
> >> outside of classes :-)
> >
> >Who cares if they believe you though, and why should they anyway? Part of
> >becoming a good programmer is getting bit by taking shortcuts (over doing
> >it the "right" way), learning from it, and moving on - and it's a great
> >thing to learn through experience that the prof might actually know what 
> >he's talking about! :)
> >
> >> I also suspect this issue may prevent other universities from seriously
> >> considering Python for introductory courses.
> >
> >Yeah, but in reality it shouldn't. Up-and-coming programmers routinely
> >ignore what we consider to be even the most basic best practices. I mean,
> >what first year (or any year, for that matter!) languages force people to
> >use good variable names, limit their use of global variables, avoid magic
> >numbers, and stay away from creating 1000-line functions?
> >
> >Anyway, it was exciting for me to read your observations so far from using
> >Python at the university level, especially the idea that more
> >problem-solving time is being spent in "algorithm space" than "syntax
> >space" (which shouldn't surprise me since that's the experience Python
> >users tend to have). I'd love to hear more of what you learn as time goes
> >on - please keep posting!
> >
> >-Dave
> >
> >
> 
> There's a real range in university courses.  Indeed,
> a depressing number of them are still stuck at syntax
> level.
> 
> Dave Reed, are you serious that decision-makers dis-
> qualify Python for the lack of enforced private 
> members?  Should I take it that they equally proscribe
> (conventionally pre-processed) C and C++?
> 
> That sounds more hostile than I mean to be.  Alex,
> maybe you can help me articulate this.  Just as it's
> taken a while for the discipline to catch on that 
> static type checking (as in C and Java) is an impo-
> verished proxy for real validation, I have hopes
> that we can eventually raise programmers' vision of
> what constitutes good support for teamwork and re-use
> from its present regard on misapplied encapsulation.


In my experience, the "encapsulation" problem is a significant hurdle.
And it seems to me that folks who came to object-oriented programming
from procedural programming seem to have a harder time overcoming the
hurdle than those who have known only object-oriented programming.
Strange.

So, let's help folks get over this problem. If we could come up with
some sound bites to offer potential converts, I think it would be of
good use. Alex was extrememly helpful in this regard, offering up
tomes of information, as I recall. I will try to dig them out, if I
have them, but I think we all would much rather hear it from the
source (hint, hint). I have heard Guido say one of the reasons for
default public access is that it was easier to implement. I think this
argument is valid (probably more so than its simplicity might suggest)
to a language designer, but it is not necessarily valid to a language
adopter.

Any other thoughts? For that matter, we could tackle any other issues
(e.g., typing) that decision-makers might have problems with. I am
soliciting evangelists, here, not debaters! There are enough of those
threads....



More information about the Python-list mailing list