Books on Python (for OO merit)

William Tanksley wtanksle at dolphin.openprojects.net
Fri May 7 23:29:22 EDT 1999


On Tue, 04 May 1999 12:56:30 -0500, Frank Sergeant wrote:
>wtanksle at dolphin.openprojects.net (William Tanksley) wrote:

>> 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".

It does give a complete survey, but (perhaps this is only true for OOSC2)
it doesn't seem to cover anything that would be useful to someone
designing or writing an application.  After you finish reading the book,
you'd be able to write in Eiffel or design your own compiler, but if you
were given any other tool, you'd have to shrug your shoulders, overcome
your revulsion at imperfection, and buy another book (not that this is a
bad thing ;-).

>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.

True.  His presentation on static typing was the first good one I'd seen,
and convinced me of its usefulness (although I'm still glad I've got
Python for dynamic typing and Forth for lack of typing).

>I probably could live happily
>in an Eiffle environment but my brief looks at a few Eiffles weren't
>enough to hook me.

It's undoubtedly a nice language, and some of the environments I've seen
for it are VERY nice, even rivalling MSVC.

>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.

It's not either-or; both are useful.  Meyer has a page on his site
(www.eiffel.com) wherein he explains the usefulness of static typing.

I've worked in Forth long enough to know the value of "throwing one away"
(i.e. write one prototype, throw it COMPLETELY away, then design and write
the final app).  I would do the initial prototyping in a dynamically typed
language (since I don't care about rarely-hit branches that only static
typing would catch), and the final implementation in a static language.

>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.

Squeak is wonderful.

But after using it for a brief while, I wasn't that taken with Smalltalk.
Too much of a good thing: Objects.  I'll use it again, though.

>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.)

I don't use any graphics things, but I've heard very good things about
wxWindows.

>  -- Frank
>  frank.sergeant at pobox.com

-- 
-William "Billy" Tanksley
"But you shall not escape my iambics."
           -- Gaius Valerius Catullus




More information about the Python-list mailing list