[Tutor] specific recommendation for a Python book, to move from baby-level to intermediate-level
wesley chun
wescpy at gmail.com
Wed Feb 15 11:43:36 CET 2012
tooting my own horn, http://corepython.com gets good reviews too. however,
it does target existing programmers who want to learn Python as quickly and
as comprehensively as possible. it's not a good book if you're a beginner
to programming or are looking for a pure reference like PER or Nutshell.
if you really need a learning disc, a subset of my book and the slides i
use to teach with can be found in the Python Fundamentals DVD that i
authored as well, however it is *not* a "showmedo" video of Python hacking.
rather, it's a subset of my lectures that come from my Python courses.
i'm also book-agnostic but am concerned that readers get the right book for
their needs, so i would be glad to recommend other books outside of my own.
cheers,
--wesley
On Wed, Feb 15, 2012 at 1:28 AM, Alan Gauld <alan.gauld at btinternet.com>wrote:
> On 15/02/12 02:16, Tamar Osher wrote:
>
> I am hoping to find a professionally designed, serious, university level
>> book (with exercises, with a learning disc, and answers, and an
>> elaborately helpful website) that will carefully and surely guide me
>> through learning computer programming with Python version 3. I want to
>> be lifted up from a baby-level to an intermediate level.
>>
>
> I don;t know about a CD etc but its a good book:
>
> Programming in Python 3 by Summerfield.
>
> And as a general intermediate book I like
>
> Programming Python by Lutz (not in v3 yet but as an
> intermediate programmer that won't make any difference
> to you, your past worrying about that)
>
>
> I don't want to spend a lot of time casually browsing through the
>> websites, trying out different things.
>>
>
> A pity, its the best way to learn.
>
>
> > I am in a rush to become a Python expert, I need a job!
>
> Go write lots of code.
>
>
> I enjoy computer programming. Python is my only programming language.
>>
>
> To get and keep a job you will need more than one.
> As a minimum you will probably need SQL and nowadays
> at least some JavaScript will be useful. And an OS shell
> language would be useful too. As a minimum.
>
>
> A note to Python Teachers:
>> I downloaded Python version 3.2.2 on my computer. Most Python books and
>> tutorials are several years old, for older, outdated versions.
>>
>
> Yes, because to produce them takes a lot of time. And most online
> tutorials are done by volunteers with another lifew - the one that earns
> them money. So they can't write tutorials as fast as the language evolves.
> Or they only have time to write a tutorial once, not to update it. The good
> news is that Python is fairly stable and most things still work even from
> version 1.
>
>
> learning Python got off to a slow start: Initially, I had spent over a
>> week trying to figure out the (version 2) tutorial for "Hello, World!",
>> and the print/print() situation.
>>
>
> Really? If you had asked here. or even read the v3 documentation you would
> have had print() explained in great detail.
>
>
> Today, there is a huge and growing number of online Python tutorials and
>> websites. My request is that the list of recommended tutorials be
>> revised and updated. There is a sizable amount of learning and tutorial
>> info at Python.org that seems to be valuable historical information
>> rather than urgent-read-now-tutorials for new beginning programmers.
>>
>
> Remember that many - most? - professional Python programmers are still
> using Python v2 not v3. There are still some critical third party libraries
> to be ported to v3. It is getting better but we are not there yet. At the
> very least they are maintaining v2 code. I use both versions but only about
> 20-25% of my time is spent in v3. v2 is not only of "historical" interest,
> its what the majority of Python code is written in, even today.
>
>
> instance, there are some very well written Python tutorials from years
>> 2009, 2007, and 2005. An idea: Delete all references to tutorials that
>> are not version 2 or 3.
>>
>
> v1 Python is possibly a valid point. But most v1 tutorials are still valid
> in v2, there was much less change from v1 to v2.
>
>
> And clearly label all the well-written version 2 tutorials, as
>>
> > being outdated version 2.
>
> Who determines what is "well written"? And if a tutorial is based on v2.7
> is it really outdated?
>
>
> For me, learning computer programming is easy, so far.
>>
>
> That's good, so you will have realized that the language, and especially
> the language version is largely irrelevant. What is important is structure,
> algorithm, data and I/O.
>
> What is difficult is ...learning how to manage the
>>
>> difference between version 3.2.2 and older versions.
>>
>
> No, that's trivially easy. If you think that's difficult then you haven't
> begun to understand computer science. I strongly suggest you search for and
> read the classic paper by Fred Brooks called "No silver bullet"
> There he describes the "essential" problems at the heart of programming
> and why there are no easy answers. Languages included.
>
>
> For someone new to programming, the difference between version 3.2.2
>>
> > and the older versions is enormous.
>
> I agree and thats why I still tend to recommend a newcomer stick to v2 for
> now. There are more tutorials and they are more mature and there are more
> practitioners using it than v3. All of which makes it easier to get answers
> for v2 than for v3. The situation is changing but v3 is not mainstream yet.
>
>
> please let me know. I want to quickly move myself from a baby-level to a
>> capable, intermediate-level Python programmer.
>>
>
> It depends on your expectations but the quickest way to get competent in
> any programming language is through use. Once you have written several tens
> of thousands of lines of code you will be well on your way. But that will
> take quite a few months and that may not align with your expectations.
>
> Reading books will teach you the theory (but for that you would be better
> off reading books like The Structure and Interpretation of Computer
> Programs (aka SICP) by Sussman and How to Design Programs (HTDP). But both
> are in Scheme not Python. But they will transform your understanding of how
> programs work. And if you really want to understand the theory find books
> on relational data theory, state automata theory, algorithm development,
> and Lambda calculus.
>
> Then finally you might want to look at some of the books on system design,
> especially as you get involved in bigger projects. Its hard to organise
> code over several hundred files unless you have an underlying architecture
> and that needs to be based on good design principles more than good coding
> principles.
>
> But none of that is essential to becoming a working programmer, just get
> out and write lots of code for real world problems.
>
>
> --
> Alan G
> Author of the Learn to Program web site
> http://www.alan-g.me.uk/
--
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
"Core Python", Prentice Hall, (c)2007,2001
"Python Fundamentals", Prentice Hall, (c)2009
http://corepython.com
wesley.chun : wescpy-gmail.com : @wescpy/+wescpy
python training and technical consulting
cyberweb.consulting : silicon valley, ca
http://cyberwebconsulting.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120215/4cc5b9bf/attachment-0001.html>
More information about the Tutor
mailing list