Live data from Hacker News

Think Python, 3rd Edition

allendowney.github.io

101–110 of 126 posts

Re: Think Python, 3rd Edition

#101

Think Python 2e changed the trajectory of my life. I took a single Java class and hated it so much I gave up on programming. A few years later as a network engineer I had a problem that seemed like it could be scripted and ended up picking up Think Python and fell in love with the language and programming in general.

Same here. I moved cities and was looking for a job... I printed a copy of this book and started going through the chapters... This book made me into a software engineer :)

Re: Think Python, 3rd Edition

#102

Think Python 2e changed the trajectory of my life. I took a single Java class and hated it so much I gave up on programming. A few years later as a network engineer I had a problem that seemed like it could be scripted and ended up picking up Think Python and fell in love with the language and programming in general.

That must have been Calendar.class

Re: Think Python, 3rd Edition

#103

What are some books for mid to advanced programming in Python? I already know Puthon and programming in general but want to improve my Python skills. I know only Fluent Python which I'm currently reading, and CPython Internals.

You might want to check out Exercises in Programming Style (2nd Edition) by Cristina Videira Lopes.

It's a little known book that explores different ways of solving the same problem under different constraints.

Re: Think Python, 3rd Edition

#104
post #35

How does one do proper concurrency in Python? As in separate "processes" running with encapsulation, fault tolerance, etc. For example, how does one bundle up a TCP client in a "process" such that the process handles failed connections, broken connections, retrieving data at periodic intervals (relatively fast), receiving "messages" from other "processes", etc.? There's Ray, Pyro, Pykka, Celery, multiprocessing, asyn…

This talk on concurrency in Python by Ray Hettinger is quite good: https://www.youtube.com/watch?v=9zinZmE3Ogk

Re: Think Python, 3rd Edition

#105
post #6

Tangential, is there a book to learn typing? I feel I need a hefty book to learn typing. Don't mind if you recommend a Typescript book or other language with similar concepts.

Perhaps a book on Idris would be of use?

https://www.manning.com/books/type-driven-development-with-i...

Re: Think Python, 3rd Edition

#107

Apologies for changing the subject, but aside from real world experience (which I have and am getting at work), is there a resource of similar quality for more intermediate/advanced Python programmers? I always feel like there's a big chunk of the language or stdlib I do not know.

+1 for Fluent Python. See also:

* Serious Python (https://nostarch.com/seriouspython) — deployment, scalability, testing, and more

* Practices of the Python Pro (https://www.manning.com/books/practices-of-the-python-pro) — learn to design professional-level, clean, easily maintainable software at scale, includes examples for software development best practices

* Intuitive Python (https://pragprog.com/titles/dmpython/intuitive-python/) — productive development for projects that last

* Advanced Python Mastery (https://github.com/dabeaz-course/python-mastery) — exercise-driven course on Advanced Python Programming that was battle-tested several hundred times on the corporate-training circuit for more than a decade

Re: Think Python, 3rd Edition

#108

I love these books … in my case Think Perl6 (now Think Raku) was a real eye opener. A quick scan of the new Python 3rd edition looks like it is quite dumbed down - which is probably appropriate for Python. I highly recommend the intro to Functional Programming in Raku (chapter 14). https://greenteapress.com/wp/think-perl-6/

What do you mean that TPe3 is "dumbed down"? I didn't notice anything appreciably reduced in the content yet but then again I haven't gone through and compared both editions, so I was interested in your comment.

Re: Think Python, 3rd Edition

#109

Think Python 2e changed the trajectory of my life. I took a single Java class and hated it so much I gave up on programming. A few years later as a network engineer I had a problem that seemed like it could be scripted and ended up picking up Think Python and fell in love with the language and programming in general.

Just as an counterexample, I started with bash/Perl, moved to Python and really liked it and then started getting issues due to dynamic typing. Around that time, Java was chosen to be the main language for our team and once I saw the benefits of static typing, there was no looking back. Since then Python has come a long way with optional typing support and IDEs to help enforce it but by now I am forever biased in favor of statically typed languages. I still enjoy Python for writing utility scripts because it is so much more polished compared to just using bash (which has its own place obviously) - but if I have the option of choosing a language for a full fledged application, I would prefer Java/Scala etc (Rust is great but the learning curve is way too steep for most mortals).

I do admit that I haven't had the first-hand experience of optional typing in Python supported by something like PyCharm so it is possible that the tooling has brought the experience to be comparable to working with a statically typed language. If someone has used IntelliJ community edition with Python typing-enforcement turned-on, please share your experience.

Re: Think Python, 3rd Edition

#110
post #99
post #24

Earlier quoted context omitted.

Couldn't this result be more attributable to Python itself than the book?

Think Python and the other books in the Think X series are more about how to think like a programmer in X. It's not just a book about a language, but an introduction into the basics of solving problems as a programmer.

Exactly!
Post reply on HN