Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- Nice to see this! Personally, I prefer CC BY-SA to CC BY-NC-ND, but it is certainly much better than 100% protected. Over the years, I've built and maintain a list[1] of CC BY-SA Python books that have no access barriers, such as mandatory account creation or intrusive web trackers.
[1] https://nocomplexity.com/documents/pythonbook/bookreferences...
by runningmike - Funny the performance section just progressively turned into "don't use Python if you need performance": Remove Python loops and vectorize with NumPy => use Numba JIT'd Python that is only partially compatible with CPython => just don't use Python and write Rust instead for hot loop.
Instead of jumping through all this hoops with Python, it's probably easier to write Rust from the beginning instead, because then you won't have to deal with the FFI complexity between Rust and Python at all.
by YuechenLi - "The book targets Python 3.15 and later"
That's a bit weird, Python 3.15 isn't even fully released yet.
- The last pre-AI version seems to be this commit: https://github.com/BruceEckel/ThinkingInPython/tree/76a1310d...
But that version seems to have some remnants left from Java version of the book, such as talking about visibility modifiers in the testing chapter.
by ptx - I originally learned Java in 2000 from Bruce Eckel's "Thinking in Java"by ra
- I've only skimmed the book and even though it was clearly written with the help of AI, there is some very good (and for the Python world novel) stuff in it. I particularly liked the chapter on effects.[0] I very much share the author's opinion that properly managing effects is the future:
> The history of programming is a history of scaling barriers. Each time, the pattern is the same. Something the programmer tracks by hand works fine in small programs. Systems grow until hand-tracking fails. The solution moves that tracking into the language or the toolchain, and a generation later, nobody can imagine doing it by hand. […] Effects are the barrier we are inside right now, which is why it is hard to see.
by codethief - While the web version of this book looks fine, I only read books on my Kindle (with KOReader). Thankfully all I had to do was clone the source repo (https://github.com/BruceEckel/ThinkingInPython) and run `make epub` to get a nicely formatted file! It is a bit on the larger side at 7.4MB, but beggars can't be choosers... (On second thought, I'm gonna submit a PR to shrink it as it's mostly from the cover image being 6MB!)by JLO64
- I indeed find the formatting quality of the site to be superior. As mentioned below by the author.
""" I know some people don’t like AI. Without it, this book wouldn’t exist. The book is free, so if AI bothers you more than the resulting product might benefit you, please ignore this book.
Using Claude made me realize how many compromises I’ve made on books in the past. I would get a good idea about something (for example, automatically interleaving commented output in the listings). I either couldn’t implement it, or it seemed too hard, so I didn’t do it. But with AI I can explore and often implement every whim, from things as seemingly straightforward as inserting a new chapter to ones as daunting as that commented-output system. The result is much better than anything I managed before. I keep going until I’ve tweaked everything that occurs to me. """