Great Works? (was Re: Hello Newb here)

George Demmy gdemmy at layton-graphics.com
Thu May 9 15:31:39 EDT 2002


Cliff Wells <logiplexsoftware at earthlink.net> writes:

> On Thu, 09 May 2002 02:18:42 +0100
> Gonçalo Rodrigues wrote:
> 
> > On Thu, 09 May 2002 00:35:06 GMT, "Ray Tux" <res0s92a at verizon.net>
> > wrote:
> > 
> > >Hello im new to programming i started  to learn c++, but turned out to be
> > >way too hard. So i thought I would learn Python.
> > >
[ SNIP ]

> Even a genius can remain a poor programmer for many years.  IMO, how
> long it will take to become a _good_ programmer depends far more
> upon the person's interest in programming itself (especially the
> aesthetics of elegant design).

Righto! *Especially* the aesthetics of elegant design.

> > But since you said that C++ was too hard that does not seem to be
> > the case. Anyway there is reallly only one method to be a good
> > programmer: read tutorials + program + read some books + program +
> > read other people's code + program + ... You get the idea.
> 
> Especially "read other people's code".  While this can be difficult
> (often one of my least favorite tasks), so much can be learned this
> way (both about what is right and what is wrong) that it is
> indispensable.  Probably the easiest code to digest would be
> fragments posted to this list and perhaps magazine articles (where
> the code can be expected to be of a fairly high quality and the
> reasoning behind the implementation well documented).  You might
> consider porting example code written in other languages (possibly
> from magazine articles) to Python as this will undoubtedly push you
> into new areas of the library and the language.

Interesting points! For me, one of the unpleasant parts of reading
other peoples code is finding good code to read. Wading through cruft
to get to the good bits. What's worse, when you're just starting out,
it's hard to know what's cruft and what's not. Too bad there isn't a
"great works" collection for Python (and other languages as
well). Great works as defined here is *different* than design recipies
or patterns or a cookbook. It's fairly easy to capture "Pythonic
idioms" in code snippets, but not so easy to capture "What's a good
way to organize a program?" These types of questions are recursive
with no terminating case... So it's nice to have: *This* is a well
organized program, beautifully written. Read it an tell me why...

Any suggestions for the "Great Works" list?

G




More information about the Python-list mailing list