SitePoint Sponsor

User Tag List

Results 1 to 14 of 14
  1. #1
    SitePoint Member
    Join Date
    Jun 2009
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Help finding a good Python Book

    I've been doing a lot of reading on reviews and such for various python books, none of which escape some sort of flak. A few people say "Learning Python" is pretty dense and a few felt they couldn't write a simple program after reading many pages of the book. I may possibly try my hand at Django after learning it well. I was considering Ruby but Python just feels better suited for me, plus Rails framework runs better on Linux anyway.

    So my question is can any recommend a good book to me? I've already ordered the "How to think like a computer scientist" Python book. If someone has read Learning Python and knows that it is good, that is fine. I just don't want to buy a bad book.

    Naturally my aim is to learn the language. I'm experimenting in C++, Java, JavaScript, and lots of PHP right now. But Python is one of the languages I want to get serious with, along with C++ for a statically typed language and JavaScript for client-side scripting. I've learning some basic concepts, but I am still a novice.

  2. #2
    Non-Member thewebhostingdir's Avatar
    Join Date
    Oct 2005
    Posts
    703
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You should refer the reviews of these books
    1. Dive Into Python by Mark Pilgrim
    2. Learning Python by Mark Lutz

  3. #3
    SitePoint Member
    Join Date
    Jun 2009
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'll consider it, thank you.

  4. #4
    SitePoint Wizard
    Join Date
    Mar 2001
    Posts
    3,537
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Raven-X View Post
    I've already ordered the "How to think like a computer scientist" Python book.
    Looking on amazon.com, that book is 7 years hold. I don't see how that is a good choice.
    Edit:

    Ah, I see. There is a new edition out.



    If someone has read Learning Python and knows that it is good, that is fine. I just don't want to buy a bad book.
    I thought the recently published "Learning Python(3rd ed.)" was terrible. I think the 2nd ed. must have been the one getting the good reviews. Hmm...amazon says they are coming out with a 4th ed. already.

    python is going through a transitional phase right now from version 2.6 to 3.1. You might consider two newly published books:

    Programming in Python 3: An Introduction to the Python Language
    http://www.amazon.com/Programming-Py...9919942&sr=1-2

    Practical Programming: An Introduction to Computer Science Using Python
    http://www.amazon.com/Practical-Prog...920102&sr=1-15

  5. #5
    SitePoint Member
    Join Date
    Jun 2009
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Wow, thanks for telling me that.

    I ordered the fourth edition of Learning Python, I'll probably switch it for one of the books you suggested.

    The computer science book has an online version as well, it looks pretty darn good.

  6. #6
    SitePoint Zealot
    Join Date
    Jul 2006
    Posts
    116
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Maybe it's just me, but I tried several books and nothing helped when I tried to learn C++ until I found cplusplus.com. Additionally, I learned Python painlessly from the The Python Tutorial. However, by the time I read the Python tutorial, I had already grasped all the fundamentals of programming, so maybe a book would be better. Nonetheless, I think you should give the tutorial a try if you have not already.

  7. #7
    SitePoint Member
    Join Date
    Jun 2009
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, I always like to read through the official documentation of the language. I still need to be introduced to the fundamentals of computer science thoroughly anyway, so I ordered that How to think like a computer scientist book.

  8. #8
    SitePoint Member
    Join Date
    Aug 2009
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,

    This is my first post here and it appears that I cannot post links to amazon for that reason.

    I originally learned python from Wesley Chun, Core Python programming. The first edition was excellent. The second one is here:


    Since I had already read the first edition, I decided to give Lie Hetland, a try when I needed to refresh my skills.

    Beginning Python: From Novice to Professional, Second Edition

    To me, it took some time for Hetland to grow on me. But then I had already learned from Chun. I favour Chun, but only just.

    Once you know all of this, Ziade has written a follow up that I am halfway through and that seems very useful for teaching advanced topics and how to deploy your work:

    Expert Python Programming: Best practices for designing, coding, and distributing your Python software

  9. #9
    SitePoint Wizard Stomme poes's Avatar
    Join Date
    Aug 2007
    Location
    Netherlands
    Posts
    10,287
    Mentioned
    51 Post(s)
    Tagged
    2 Thread(s)
    Thanks, I always like to read through the official documentation of the language. I still need to be introduced to the fundamentals of computer science thoroughly anyway, so I ordered that How to think like a computer scientist book.
    You get some fundamentals just from the old K&R book, ANSI C. I read two chapters, died, came back to life, started reading Merijn's eloquentjavascript.net and at the same time Crockford's book (rather randomly) and everyone seemed to just build on each other. Python, like Ruby and Perl and JS, take a lot from C. Or they take parts from it. If you are doing lots of math with any of your languages, then you'll need some good math behind you, as every place I've seen math explained already assumed you have like a BS in advanced mathematics lawlz (or actually, they assume you were required to take some certain maths as a Computer Science student).

    If you go ahead and look at Ruby while you are looking at Python you'll see a lot of similarities. It's possible that where the two languages do the same thing, one book/resource explains one part better than another book. They may compliment each other. I'm doing this with Perl and Javascript right now. Syntax get mixed up horribly, but the basics are remarkably the same (that and JS took a lot from Perl, namely the regexes and dealing with arrays).

    I guess the Snake Wranglers or whatever they were are gone now, but finding a Python community to steer you in the right direction every time you come to interesting areas can't hurt. There are always a lot of things in a language that are legal but the programmers who know the language consider a Bad Idea.

  10. #10
    SitePoint Member
    Join Date
    Apr 2005
    Posts
    6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Man, I don't know how you can argue that Python takes a lot from C, other than the fact that they both happen to be programming languages.

    I can't think of a syntax and paradigm that is more different than C.

    C is a procedural functional language with manual memory management and doesn't even have a string primitive, and Python is a dynamically typed reflective OOP language with indentation based scope!


    Ruby is what all the cool kids are doing, but Python is way better if you use Django. I am a major advocate of Django, and the choice between Django and Rails really comes down to what you hate doing more. They both have negatives.

    I learned Python from online tutorials but it didn't take long. If you want to start developing sites with it, pick up The Definitive Guide to Django, which was just updated last month for 1.1

  11. #11
    SitePoint Wizard Stomme poes's Avatar
    Join Date
    Aug 2007
    Location
    Netherlands
    Posts
    10,287
    Mentioned
    51 Post(s)
    Tagged
    2 Thread(s)
    C is a procedural functional language with manual memory management and doesn't even have a string primitive, and Python is a dynamically typed reflective OOP language with indentation based scope!
    You can't deny that the current generation of OOP languages take many of their ideas from C. I'm not saying they work like C. I'm saying they borrowed the hell out of it. And a language who borrows from a language who borrowed from C also counts. Perl is also not a functional language either but inherits/borrows plenty from C. Python and Ruby have borrowed from Perl (and Perl is currently borrowing back from those two).

    Maybe the best analogy I can think of right now is learning Latin and Greek can help you get fundamentals of English, who is nothing like Greek or Latin but borrows the hell out of both languages. And I don't mean learning to speak Latin or Greek. That's only useful if you want to speak Latin or Greek. But learning the vocabulary, and how your language took, used and changed that vocabulary or that set of grammar is so nice. You can learn to skim a language enough to learn it and be plenty fluent in it, but I believe it's a benefit to see where this and that came from, and why.

  12. #12
    SitePoint Wizard Stomme poes's Avatar
    Join Date
    Aug 2007
    Location
    Netherlands
    Posts
    10,287
    Mentioned
    51 Post(s)
    Tagged
    2 Thread(s)
    Sorry, I should include a source when I shoot my mouth off: http://python-history.blogspot.com/2...-overview.html

    But my main point wasn't to learn C, but that the fundamentals of programming, whether in Python or anyone else, can be learned or at the very least helped along by the K&R book. I don't get half of what I'm reading in it, but ok. Every time I go back there's something new in there that I finally "get". Raven-X is interested in learning more general computer theory or whatever along with the Python learning. This sounds like a good idea. Hence my suggestion. : )

  13. #13
    SitePoint Member
    Join Date
    Jun 2009
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for the extra reply guys!

    I'm studying PHP, Python, JavaScript, and C++, along with SQL for databases. Once I learn the basics it'll transfer to all languages, the minor differences are much easier to overcome.

    Kind of like if you want to be a professional illustrator, you need detailed knowledge of real world anatomy. Learning an illustration style is simple, the basics are what really count.

    Even simple concepts like variables and arrays are extremely important topics in programming. What I love about it is that it's like a puzzle. Many intricate pieces interact to create something that does something.

  14. #14
    SitePoint Member
    Join Date
    Aug 2009
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I suppose Dive into Python by Mark Piligrim is the best
    My job search site on Indeed, Freebase, Flickr API


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •