Looking for Python programmers--where to search?

gbp gpepice1 at nycap.rr.com
Thu Sep 28 23:24:02 EDT 2000


I learned to use Python's lists and dictionaries fairly fast.

I think it helps to have gone through a university system where they
make you learn 'strange' langauges.

I'll never forget the Lisp class I took.  We all laughed at lisp like it
was a bad joke when we saw it.  We were all pissed off when we got the
programming assignment.  It had to be written all in a 'pure' subset of
lisp with NO loops.  Loops = F.  
We didn't laugh anymore when we saw the a 5 line lisp program could do
what a 5 page c program could do.  I don't remember the assignment now,
but I'll never forgot how short that program was!

I think you got to let each langauge be itself.

Eric Lee Green wrote:
> 
> Mats Wichmann wrote:
> > On Mon, 14 Aug 2000 23:48:28 -0700, Paul Schreiber <paul at magic.ca>
> > wrote:
> > >You can pick up python in a hour; all you need is a good reference book
> > >to look stuff up in. _Python Essential Reference_ is that book. :)
> > >(Typically people get confused about lists and tuples; or strings being
> > >immutable -- minor junk.)
> >
> > I really think you're slightly overstating the simplicity.  You still
> > have to get used to things like namespaces and how modules impact
> > them, import/from/reload,  etc. - i.e. there are some subtleties; and
> > you have to gain some kind of familiarity with the tools that are
> > available - standard modules and how to make effective use of them;
> > connectors to other languages, etc.
> 
> I'm training a C++ programmer to program in Python as we speak. The thing that
> seems to give him willies is the sheer dynamic nature of the language. C++, as
> you know, is statically typed (nevermind the STL ball-of-cruft). We assigned
> him to write a database access class that incorporated self-reflection, i.e.,
> it created its attributes at run-time based upon the contents of a list of
> attribute/type pairings in the subclass that was inheriting the database
> access class, and you could almost see the fuses blowing in his mind.
> 
> So far he has been plugging away for two weeks, and still takes 2 days to do
> what I could do in the course of an hour, and still has trouble dealing with
> the fact that he can, e.g.,  operate upon lists without having to write oodles
> of list-manipulation code and etc. (e.g. there was one database operation
> where the most efficient way of handling things was to query all the data out
> into one list then iterate over the list with a 'for' loop, and he went
> through a bunch of hooplah with cursors to implement the same thing -- because
> in "C", you can't work on lists without writing a bunch of code). My only
> conclusion can be that while C++ programmers can learn the basics of the
> Python language in an hour, it takes them a lot longer than an hour to be able
> to write real programs in a timely manner using the language.
> 
> > (Hint to employers:  there are lots of competent folks who are willing
> > to help on projects - part-time or full-time, consulting or permanent,
> > who don't understand why that should mean being tied to the SF Bay
> > Area... think: telecommuting.  I've done it productively for years.
> > If you bend a little on location your lives will get a whole lot
> > easier trying to fill those difficult spots!
> 
> A few years ago I would have agreed with you. The problem is that projects are
> becoming more and more complex, and as they become more complex, interactions
> become more complex. A typical project ten years ago had one component type --
> a client program, that maybe communicated with a centralized database server
> via a socket if it were particularly sophisticated (but usually it used an
> ISAM library and relied on a Novell network's built-in file locking mechanisms
> to provide consistency control). The various screens could be broken into
> independent programs, none of which knew about any other program or
> communicated with any of them. Today's projects have multiple "thin" clients
> (CLI, GUI, web), a very sophisticated server that incorporates the actual
> business logic, they perhaps access an LDAP server and an SQL server, etc.
> etc. etc.... if I am writing the server, I need to communicate swiftly with
> the person writing the GUI interface, because when something comes up that is
> not incorporated in the design documents, I need to know how we can handle it
> so that I can create output that he can parse (and vice-versa). If he is in
> the cubicle across from mine, I can poke my head over the wall and ask him. If
> we are hundreds of miles away and in different time zones, that becomes a
> problem. The last time I successfully telecommuted was 5 years ago, working on
> a database application that consisted of numerous standalone modules hooked
> together via a menu program. I would not even dream of attempting that with
> the current project, where the interactions between the various components are
> critical despite every attempt on my part to keep things as isolated and
> independently-testable as possible.
> 
> --
> Eric Lee Green                         eric at estinc.com
> Software Engineer                      "The BRU Guys"
> Enhanced Software Technologies, Inc.   http://www.estinc.com/
> (602) 470-1115 voice                   (602) 470-1116 fax



More information about the Python-list mailing list