newbie questions (Python vs. Perl)

rphillips at celfi.com rphillips at celfi.com
Tue Apr 6 08:33:18 EDT 1999


In article <wkwvzr7ckh.fsf at ifi.uio.no>,
  Lars Marius Garshol <larsga at ifi.uio.no> wrote:
>
> * Phil Voris
> |
> | 1) I hear it's the best for learning OO.
>
> Maybe. Personally, however, I think that when learning OO it doesn't
> matter all that much which language you do it in. All you want is
> basically that the language stay out of your way and let you get on
> with the learning.
>
> As such, I think maybe Simula would be the best language to learn OO
> in.
>
> | I have heard high praise of Eifel as well, but information on it
> | seems to be scarce at best.
>
> Try this URL:
>
> <URL: http://www.cm.cf.ac.uk/CLE/>
>
> Here you'll find lots of informationa and links to other useful
> pages. You can also find some useful tutorials.
>
> However, I don't think Eiffel would be a good learning language. I
> tried it and found it difficult to get started, and I also think you'd
> do best to stay away from this design-by-contract until you understand
> OO.

  I cannot agee with your last statement.  Now, I admit that I may be biased,
having preferred Eiffel for over 10 years, but I believe that Design by
Contract (DbC) is the heart of OO: even if not supported by the language
directly, the ability to specify and reason about the *abstract* behaviour of
objects is key to OO.  And the more formal we can be about specifying that
behaviour, the simpler the job of programming becomes.	After all, what is a
debugger really for?  It is for learning what a given method does/has done -
how it affects the state of the running system.  This is also the intention
of DbC, to state clearly what a method will do, with a trusted specification.
 Current programming practice seems to be based on a 'try it an see' method,
but with ever increasing complexity of software systems, more emphasis needs
to be put on design, and not just of data structures, but on program
behaviour. Would it not be better to teach this earlier rather than later?

- Roy

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




More information about the Python-list mailing list