Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- SszSszsss... sssssss.... ssssssz!by shevy-java
- Not to be confused with Think Python, which is also excellent:by andai
- For the people thinking about learning Python:
Since 2020 the entire Python ecosystem is a tightly organized, hierarchical structure that only serves the old boys country club to keep their overpaid positions in the industry. Many of these are mediocre, they just rule, let external people do real and hard work and then take the credit.
Any dissent is squashed, the official authorities have no qualms about lying and controlling the infrastructure so that no dissent can he heard.
It won't change since their inflated salaries depend on it, unless corporations catch on and fire them (like Google did).
Supplementary reading:
https://zedshaw.com/blog/2020-10-07-authoritarianism-of-code...
https://www.fast.ai/posts/2020-10-28-code-of-conduct.html
https://chrismcdonough.substack.com/p/the-shameful-defenestr...
Better invest in learning a language with multiple implementations like C++. Heck, even Java/Oracle are more democratic than Python.
by wqlander - > Better invest in learning a language with multiple implementations like C++
As someone who has spent a little too much of their life having to deal with one cross-implementation C++ incompatibility or another, all I have to say is "good luck with that."
> Since 2020 the entire Python ecosystem is a tightly organized, hierarchical structure that only serves the old boys country club
Python leadership isn't great, but again to compare it to c++ at least they're not defending and keeping around a convicted rapist and possessor of CSAM.
by BigTTYGothGF - I can see why you chose to use a burner account.by chirau
- > Better invest in learning a language with multiple implementations like C++.
There are only three C++ implementations left and one of them is Windows-only.
by tialaramex - I've used and been involved in my Python community since the late '90s, and I wish I could say you're totally off the mark here, but... It hits closer to the mark than I'd like. There is a subset of the Python community that I dearly love, but these days the bulk of the Python leadership makes me reluctant to be involved with it.
I guess maybe it's a time marches on thing and the leadership serves a very different community than the one I remember. Which is fine if that's what's happening. But I'm not entirely convinced that that is the extent of the story.
- Nice formatting - None of the book seems to be about "Thinking" though. It's basically an annotated syntax guide for readers from a C++ background?by janpeuker
- 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.
- I think this is great, because it prepares you for the Python coding style for now to in two years, in contrast to from two years ago to now, so the information stays relevant longer.by netniuq
- You're right that Python 3.15 is not fully released yet, but it's in prerelease which is defined as:
""" After the first beta, no new features can go in, but feature fixes (including significant changes to new features), bug fixes, and security fixes are accepted for the upcoming feature release. """
So it's a fairly well known target. Bruce Eckel published the first edition of this book a quarter of a century ago - he has a pretty good handle on the progression of Python.
Definitions and status for all releases is at https://devguide.python.org/versions/
by rented_mule - 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
- Me too, one year before you. A classic.by jkaplowitz
- I think I started in late 1990 but I did not like it.
Java has much improved though. Slow improvements, probably in part due to Kotlin, but it has gotten better since then. Even though I still think it is needlessly too verbose.
by shevy-java - I learn Thinking in C++ from his book for my Master thesis work in 2004by sakesun
- 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 - Think fine book is pre AI eraby neves
- 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
- Care to share the epub ? Should be legal.by srean
- 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. """
- > “But with AI I can explore and often implement every whim, from things as seemingly straightforward as…”
I had a powerful misreading. I thought the author was saying they used AI to help write chapters they had struggled with before (uh? Yea, it seemed strange for the author of a Python book having trouble with Python…). How about writing custom chapters on request? Surely something that AI can do without trouble. At the right price point I would love a non-linear reading of the book and all that’s necessary for my to understand finally how hooks and callbacks work.
by xtiansimon