So, how long does it take to learn
Alex Martelli
aleax at aleax.it
Mon May 19 03:26:04 EDT 2003
Alex wrote:
> Graham Nicholls wrote:
>
>> I know thats an open ended question, but how long would you reckon it
>> takes to get to be fairly productive, bearing in mind I've been
>> preogramming for years ?
>>
>> Thanks
>> Graham
>
> It took me about 3 days to feel productive. I've been programming
> professionally for 10 years, mostly in C++, with a smattering of other
> languages.
Starting with experience similar to that of this "other Alex" (but a bit
more extensive -- roughly twice as long and with substantial use of quite
a few other languages such as Fortran, Pascal, and Rexx), it took me
substantially longer -- perhaps because I was treating Python very much
as an "in my copious spare time" effort, never immersing myself in it
fully for more than a few odd minutes now and then. Fortunately after a
while a friend lent me the then-recently-published book "Learning Python"
(Lutx & Ascher, O'Reilly), and, as well-written books generally will, THAT
magnetized my attention for a few days. Then I sat down at the PC a
Friday evening, with the idea of devoting the whole weekend to trying out
a specific hard problem and see how well I fared -- if I could have a
working prototype by late on Sunday evening, I reckoned, that would mean
I was starting to grasp the language well, and enable me to evaluate how
good the language itself was for my main purposes (rewriting a huge
unholy mess of Perl, C/C++, and other stuff yet, which I had been using
for some personal research but had grown well past the thresold of
"unmaintainable" and really did need total rewriting).
By late on Friday night, say 4 hours out of the 36 working hours I had
allotted to the task of making a prototype, I had a complete working
solution of production quality, AND a couple of reusable compoments that
would come in very handy in the "total rewriting" task. I didn't have
a good test suite yet (in those times I didn't generally to "test-first
design" for personal spare-time projects, and doctest & unittest weren't
yet around to help...), but that just provided some lightweight task
for Saturday's breaks, as I read straight through the language and library
refs 'cover to cover' (not in any hope of memorizing them of course, just
to start making a mental map of roughly what was where).
Actually I never did tackle that complete-rewrite -- Python itself (and
the task I set myself of rewriting every Perl and big shell-script I had
around in Python), in addition to my full-time job doing mostly C++, made
my sparetime even less copious than usually -- a few days later I was
starting to participate to c.l.py, about a year later I was starting to
plan and negotiate about writing a Python book myself (which made "spare
time" an oxymoron for the next couple years, particularly as the books
became two...). I'm not complaining though:-).
So, all in all, I would say that 3 days would be a bit optimistic in
my case -- even imagining "fulltime immersion" right from the start, I
would still say _at least_ 5 (and by full-time I mean 16 hours/day -- if
I could spare only 8 hours/day that would AT LEAST double the elapsed
time). But it's quite possible that part of the reason is that I _am_
becoming slower on the uptake as my age keeps advancing, of course -- I
learn things at least as deeply as I did when I was younger, but not
quite as fast!-)
> I'm exploring Python out of curiosity. So far I love it. It has proven
> fantastic for writing small applications. For this task, I consider
> superior to any other language I've used.
It is.
> I do not have any experience using Python to develop a large,
> multi-developer, multi-year project. I am curious about other's
> experience in this regard.
The "Python Success Stories" (published as a free booklet by O'Reilly,
also available at pythonology.org) all focus on bigger projects and
uniformly seem to indicate the same thing (well, I guess that otherwise
they'd have had to call them IN-success stories;-). My own personal
experience (one of the success stories that made it to the site but not
to the booklet) appears to indicare just the same.
> I would *strongly* recommend 'Python in a Nutshell' by Alex Martelli. It
> will bring you up to speed very quickly.
Well, I can hardly disagree with THIS one;-). I did try to write the
book I would have wanted to read (right after "Learning Python", but then,
I am not such a fast learners as some others these days, as above mentioned)
back when I was first sniffing around Python in '99...
Alex
More information about the Python-list
mailing list