Books on Python (for OO merit)

Frank Sergeant pygmy at eskimo.com
Tue May 4 13:56:30 EDT 1999


In article <slrn7iq052.d37.wtanksle at dolphin.openprojects.net>,
wtanksle at dolphin.openprojects.net (William Tanksley) wrote:
> On Mon, 03 May 1999 00:36:48 GMT, David M. Cook wrote:
> >On Sun, 02 May 1999 23:47:02 GMT, William Tanksley
> ><wtanksle at dolphin.openprojects.net> wrote:
> 
> >>OOSC2 is interesting, but IMO it's more of an advert for Meyer's company
> >>(and the language they sell, Eiffel) than anything else.  
> 
> >I think you'll find that true of many of the other big names in the field.
> >Their methodology is partly an advert for some CASE tool or other.  Meyer
> >writes much better than most of them, though.
> 
> Indeed he does.  It's a fun book, if you want to design a language (which
> I always have).

I very much enjoyed reading OOSC1 (Object Oriented Software Construction,
first edition, by Bertrand Meyer).  It was the first _principled_
discussion of OO that I had read, as opposed to the "ooohh, objects
are cool" trash, such as The Tao of Objects.  I liked the books so
much that I purchased OOSC2, a much bigger book, which I see on my
bookshelf every few days and say again "I'm going to read that some day".

By "principled", I mean that Meyer presents his reasoning for each
aspect.  You may agree or disagree, but he isn't hiding his thinking
or asking you to take it on faith.  I probably could live happily
in an Eiffle environment but my brief looks at a few Eiffles weren't
enough to hook me.  If Meyer has a blind spot, it might be related
to the Smalltalk/Python approach of not typing variables.  Meyer
doesn't like that, but I like it more and more each day.

Since then, I have been on a kick of reading Smalltalk books.
I have about been convinced that Smalltalk is the best OO language
of all (well, combination of language and environment).  So, to
the original question about learning OO, I suggest reading OOSC1/2
then reading some Smalltalk books.  I think all of the OO
material carries over very nicely into Python.

Even though I "should" use Smalltalk, I have a much harder time
"getting" the GUI than I do with Python (i.e. Tk).  I have
tentatively chosen Python over Smalltalk for the following
reasons:

   1. Full source is available.  (Also true for Squeak Smalltalk
      which doesn't give me the standard W95 look I need, but
      not true for any of the Smalltalks that look pretty.)

   2. Python is priced right.  (Squeak is priced right, but doesn't
      look right.  Ditto for Smalltalk Express.)

   3. I "get" the Python/Tk GUI approach.  (Smalltalk Express
      has a _great_ GUI builder, but the look is more Windows
      3.1 than W95, so it is out.)

My questions in the past about Python/Tk were related to speed
and faithfulness of W95 look.  I first played with Tcl/Tk some
years ago and gagged on Tcl as a language and on how ugly Tk
was on Windows.  Times have changed, Tk has gotten pretty on
Windows and faster, and machines have gotten faster.  So, I
think speed is no longer a problem and the Tk look is no longer
a problem.

I have heard from others about using VB or Delphi or MFC for
a "fully professional appearance", combined with Python.  I'm
keeping this in mind to look at in the future, but so far I
don't see that Tk is particularly lacking.  Would anyone care
to explain further?  My tentative plan is to work with Tk
until/if I hit its limitations, and then consider the other
alternatives.  In particular, I wonder if Python can be compiled
under Borland (Inprise) C++ Builder.  This might give me convenient
access to the C++Builder/Delphi GUI builder without the pain of
learning COM.  (Each time I try looking at Python/COM/{Delphi,
MFC} I run away.)


  -- Frank
  frank.sergeant at pobox.com





More information about the Python-list mailing list