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