- Mar 2026: 124
- Feb 2026: 140
- Jan 2026: 157
- Dec 2025: 306
- Nov 2025: 484
- Oct 2025: 218
- Sep 2025: 176
- Aug 2025: 136
- Jul 2025: 317
- Jun 2025: 230
- May 2025: 237
- Apr 2025: 165
- Mar 2025: 367
Sales are certainly down, but it has gone up and down in the past.
Since the 1st edition came out in 2021, it has sold roughly 20,000 copies (about 10,500 English paperback copies, 3,800 ebooks, and 6,700 translated copies). The 2nd edition came out in 2024 and has sold roughly 13,000 copies (about 8,300 English paperback copies, about 3,000 ebooks, and about 1,600 translated copies).
Most of the money comes from O'Reilly's online platform, not from book sales. That has been declining lately, partially because the latest edition is now over 2 years old, but also I suspect that people are cancelling O'Reilly subscriptions and just relying on LLMs (which have indexed all of the books and used pirated copies to do so).
This follows a general trend. Areas which used to be bounded by the limits of the human mind stopped being bounded that way some time back. This first appeared in corporate structure. Through the 1970s or so, there was an upper limit on corporate complexity. Beyond some point, connectivity problems started to choke the organization. There were classic ways around this, mainly dividing companies into sub-companies with their own profit lines. "The Concept of the Corporation" by Peter Drucker describes how General Motors did that. GM was at the time a group of loosely connected car companies under one corporate roof.
A few companies figured out scaling early. Sears was famous for having developed the "Schedule System", which reduced fulfillment overhead from O(N * M) to O(N log M). This allowed Sears to run a giant ordering plant out of Chicago to serve the whole country. But many companies didn't scale well, and choked as they grew. Westinghouse is a classic example.
As computers came in, the scaling problems receded. Airlines got their reservation systems under control, and seat utilization went up. Logistics went from warehouses to fulfillment centers, with much shorter holding times in inventory. Chains no longer were limited in size - WalMart, McDonalds, and the big banks could expand to planetary scale. The giant corporate paper-pushing plants disappeared.
So did forced organizational simplicity. Companies had, at some level, to be simple. Otherwise they became unmanageable. As computerization proceeded, that constraint was relaxed.
Finance achieved previously unimaginable levels of complexity. Until the 1980s, most financial products were rather simple. Now, there's no limit, and the tail wags the dog. Futures markets are far bigger than the volume in the underlying commodity, and zero-sum activity dominates.
AI will accelerate this. There will be businesses no human can comprehend or manage. This may not be productive but will be profitable for someone.
I love the tutoring of LLM, but to this day as a complement to a guided book. I don't find such guided books in computer science much anymore sadly, but for now I still do it in other venues - French, Biology Astrophysics and such. I grab a book, and then use LLM to supplement my reading as my mind always has a myriad questions :).
Not entirely sure why computer science is so radically different - maybe because things change and get obsolete too fast? At any rate, cuddling with a book is still my favourite way to learn a new topic, much as I spend 12 hrs a day eagerly typing and staring at the screen as well :).
And the best part.. it was Python 2.7. Micro Center sold me a brand new, glossy covered "Learn Python" book based on 2.7 in the year Anno Domini 2025. Its instructions didn't even properly tell you to install that version, so if you even make it that far you're going to be lost why the syntax is wrong for every example.
Moral is, books are just as easy to strike out on as a bad online resource. Honestly, I feel like Googling "x language tutorial" is probably going to get you the best results much more easily than picking something off the book shelf - if I can't vet a book reliably, and I already know the damn language inside and out, what hope does a newcomer have?
There is a good ending at least. Among a bunch of random stuff I got from an infrared spectroscopy shop that was closing down and practically giving away all their cool equipment, I found a copy of K&R C. I'd never read it myself but I'd heard so much about it online over the years that I figured it was as worth a try. So I got the victim of the Python book set up with WSL and gcc, and they had a much better time that time around.
The crazy thing is that SO is dying so quickly that it's already under half that amount.
https://data.stackexchange.com/stackoverflow/query/1926661#g...
> You already know why, more or less. ChatGPT has over 900 million monthly active users. GitHub Copilot has 4.7 million paying subscribers as of January 2026, up roughly 75% in a year. You can’t imagine writing software without Claude Code anymore.
I read programming books and use LLMs for different purposes. With books, it's usually not to find a solution to the very specific problem I'm working on. That's what I use LLMs for because they give very focused answers. Books, on the other hand, provide much broader context that help me learn a language. Whereas with LLMs I get a solution yet tend to retain nothing. YMMV.To be honest, I'm 17 y.o., I'm coding by chatting with an agent, but it seems like we can't tell the distinction too absolutely.
At the first time writing a React app, I forgot to name a file with a .tsx extension and I used .ts instead, then spotting ugly error lines across my JSX syntax, confusing and sharing with my friend, and laughing this little funny thing all the day.
I once spent the whole afternoon choosing a js linter, reading their docs and perceiving different tastes. In my early twelve-ties (uh this sounds funny too) I'm always arrested by configuring Windows PEs, installing different Linux distributions on my PC, etc. Today I still read tech books, alongside videos, articles and also chatbots. Chatbot is a new tool, but there's no doubt it cannot replace other media types and what they bring to us/me.
What may I express is that a natural interest in programming or computer things cannot really be overwhelmed by LLM things. I don't know how to use vim skillfully since I majorly used Windows at my early age and I'm not familiar with vim's logic, but this practically doesn't stop anything. I still found Linux's fantasy, at last. And same for LLMs.
Interesting, is SO getting traffic again? I thought it wasn't doing well? Or have they adapted?
> The programming book was, when you look at it squarely, always a slightly absurd object. Printed text on bound paper, describing software that lived on screens, which the reader had to retype, by hand, into a screen of their own.
The point of programming books was never "give a man a fish" but "teach a man to fish." If you were not hands on, experimenting, and instead copy-pasting you likely didn't get anything out of the book anyway.
I did find "Eloquent JavaScript" very helpful, it didn't just get me started on JavaScript but actually introduced that whole computer-sciencey side of programming that I hadn't encountered in my various markup and stylesheet language coding. I never finished Eloquent JavaScript though, it was like a springboard that got me into JavaScript (which is dynamic and has an interactive runtime) and as soon as I could be having a conversation with JavaScript at runtime, from there I continued learning by talking to the REPL and seeing what happened.
And sometimes a “dated” book is still valuable. One night recently I was having trouble getting him to go to sleep because he was getting overstimulated by Bob DuCharme’s The Operating System Handbook (1994) - which is valuable in getting into his head that there exist systems which are very different from his beloved Linux (it covers MVS, VM/CMS, OpenVMS, and OS/400) [0]
For years I’ve been buying him books and watching him fail to actually read them-I’m pleased at 13 that’s finally changed
[0] I have the hardcover edition which I bought in the 90s, but now you can get a free PDF from the author: https://www.snee.com/bob/opsys/part1intro.pdf
These days, I don't use LLMs for actual programming but will ask them questions in lieu of doing a web search. It's like documentation I can chat to. Basically a more efficient blog post or book chapter that happens to be dedicated to whatever it is I'm working on.
Edit: I should say, topic conceptual based books I mean here. Something like 'Designing Data Intensive Pipelines', not 'Learn Python' which is out of date before it's even published
Books are still good for the fundamentals of course.
A good book deals with that.
For example, my Effective Pandas book teaches best practices that most never learn because the blog posts that train the models are actually espousing anti patterns.
(As an author I'm keenly aware that fewer folks are buying books.)
But I've started reading programming books again recently, on my e-reader and on my laptop. People are still writing them, and they're still good. We should all go buy some!
For my own usage, I don't see chatbots as supplanting textbooks. If anything, they pair well; reading a book from cover to cover gives me the breadth and depth I want, but LLMs are there for tangents and questions that come up along the way. I was reading a book and chatting with Claude like tihs just yesterday, for a few hours.
I have it generate an ePub file, and drag and drop it to my kindle.
It's a great way to take information with me, out for a long walk where I can focus on it and absorb it.
Also, now when I am trying to learn a language, I just work on a project and search in the docs (or just on Kagi) to find what I am trying to do. Maybe a physical book would be a quicker reference, and maybe I should buy some more of them.
P.S. I enjoy finding old computer books (like DOS/Win95 era) at the thrift store.
I have seen a myriad examples of people that have half-learned a language from random snippets in the web (or from AI now), and the struggle never ends. And taught courses or videos tend to be too time-inefficient and too shallow, more of an intro.
A good book is still by far the best way to get the complete and cohesive overview of a technology and put it into context. It gives you the kind of mental model that allows you to solve fresh problems from first principles thinking, because you understand the whole breadth and depth of how the technology works.
I expect it’ll swing back, though. At least I would expect to refocus on learning fundamentals, languages, etc. once the hype dies down.
I’ll be very sad if these books don’t exist when the dust settles. LLMs are great but they don’t come close to a well-written technical book.
The problem with LLM learning is not that they can't explain a concept, but you have to know what to ask in the first place. To get a deep proper answer from LLMs you need a deep precise prompt. When you learn the new topic, you don't know about the topic itself, so you need a properly structured interleaved material to grasp new concepts.
After you get the concepts from books, you can prompt the LLM for particular non-covered subjects you are interested in.
So even these days when I'm interested in some topic, I sometimes even ask the very same LLM to provide me top-10,top-20 books for the topic, with short overview for which type and level of readers and style they are, pick a few and read them.
LLM is a replacement for docs and simple questions on StackOverflow, not for the real organized knowledge that requires a few hours session of concentration to understand.
I've only had peripheral exposure to writing in assembly and "systems level" programming so I'm really quite enjoying it.
[0] https://www.amazon.com/Computer-Systems-Programmers-Perspect...
Then there was that one time I was self-studying computer architecture (Computer Systems: A Programmer's Perspective) and was able to turn what I learned around and hack our binary code at a customer site because I wasn't in an environment where I could compile our code... and then years later, when I wanted to analyze the ROM of a 90s electronic device with a much simpler instruction set than x86, I wasn't afraid to crack open the thing in Ghidra
Let's see, what else have I read that's paid dividends over the years:
- Modern Operating Systems (Tannenbaum)
- Learning Python (Lutz)
- JavaScript - The Definitive Guide (Flanagan)
- Programming PHP (Tatroe)
- Learning Web Design (Robbins)
- Algorithms (Sedgewick)
- A book I read whose name escapes me now, about technologies like RS-282/RS-484 and serial communications in general
- (I could probably put down Cuckoo's Egg too as an "inspiration" for me ultimately getting interested in computers and networking, and I bet that's not too uncommon a story)
It's probably a sign of my age (mid 30s for reference), but when I'm curious about something and want to learn it really deeply - I look for a good book on the topic. (although I'm willing to admit that maybe this process hinders me in some ways, because it means I sometimes spend more time studying than I actually do working with a thing - I have spent a LOT more time reading about circuits than building them - but I like studying so I'm happy either way)
StackOverflow is kinda forgotten now, but there was a time where you could find the answers to pretty much all your programming questions there, and if not, you could simply post a question yourself (and yes, there was a time where SO was pleasant to use and your question didn't get immediately shut down by overzealous admins).
I personally never liked learning a programming language from a book. Like, in the early days of Java, I would get so much more use out of the then excellent API docs than out of secondary material.
And of course, programming is one of those disciplines where you really have to just try it out to really make progress.
However the theory books are still worth reading, if you read any of the intro Tanenbaum books from cover to cover you know the subject far better than everyone not directly working in the subject (and probably more than many that do).
Doing any kind of mildly-complex parallel programming code without having a theory book about it fresh in your head should be a crime.
Do you need to debug some ancient perl? Sure, ask Claude. You'll get an answer and move on. But if you're looking to learn how to use the next technology before it's mainstream, you'll go looking for that material. And it's there, where you expect it to be. Do you still watch network television or haunt Blockbuster? Times change and the market moves on. The interesting thing is, people like books and they're also available for those looking for a physical artifact to hold. Most of what's available is POD. Depending on the title, you're hitting the print button when you place the order.
I also once read a book on MS SQL Sever 200x, which I don't remember much of, and I don't think it was terribly useful anyway. If I wanted to know the size of a datatype I'd Google it.
And I wouldn't have it any other way. I remember my ginormous Visual Basic 3 Bible from the 90s with great fondness and nostalgia, but thumbing through a dead-tree book to figure out computery things is just not a thing I care to do.
Having said that, I still think there's room for computer related "books"... of the digital kind, at least. It honestly feels a little absurd to even consider buying a physical book for this sort of purpose.
Before the rise of AI, developers were basically doing copy/paste from StackOverflow. There are few developers who knows how to code.
Even DevOps engineer, I worked with CI/CD "specialist" who couldn't work for sht, if you asked him anything outside StackOverflow, he couldn't answer.
But there is a silver line for everything.....
I am not a developer but I learned to code with Perplexity AI, but not copy/paste, anything I didn't understand I asked it to explain why.
I wrote my first python app with classes, functions, 94% code quality coverade, the mock unittest was 4x bigger than the actual code. I can start a python script from scratch without looking at my own examples.
I would never be able to do that within a few weeks by looking at forums that often have worse response than AI hallucination.
I even sometimes read them without touching a computer.
Studies show that books is the best media to learn. Forget video, books + practice (now with AI explanations) is my learning methodology.
Many of those are not programming books, but they do seem to be recently published, I wish my Japanese was better.
One persistent internet and Altavista became available it was just a matter of time, and now we're there. The whole move fast and break things culture won.
Like Chesterton's fence, you don't know what you're got until it's gone.
Having coded Perl for years, I take that personally, pal...
Maybe someone disagrees, I'm open to hearing what the book has taught you that the digital docs/book didn't.
my 0.02 on the matter: things are stacked against you even if you are not strapped for time.
a vast majority of the stack is changing too fast and non-digital versions are not appropriate beyond learning the base of a language or high-level design patterns.
as publishing became super accessible, there is also a plethora of options, and increasingly difficult to sift between the lower-quality stuff and the diamonds.
for most people, very few (kinds of) programming books exist today that could stay relevant beyond the university.
Using paper just works better for me.
I do use LLMs for asking questions, and other learning tools.
It's a great book, although it's forcing me to admit that I need glasses (the print is so small)!
I think the next deep dive was in 2022, when I learned Go. But that was completely from online sources.
(Reading HN to procrastinate.)
The most effective way to make money from open soruce was (for a time at least) to be Tim O'Reilly, Amazon, or Google.
you can't pick up c++ from the docs and the language itself is a monstrosity, and for that you must have book explaining why do you have 30 types of pointers, golang in the meantime have excellent official guide, and you don't really need any book
most accurate description of Perl ever
I know it's a hyperbole but repeat a lie often enough...
no AI can write it like this.
the same will apply to software. You just wait and see the day when disclaimers like 'No AI involved' would be a signal of high quality, especially for software on which lives depend.
It’s bittersweet that perhaps the next generation will never truly understand how utterly insane it was that small companies were paying developers like me good money to read books, then struggle for months to create a simple CRUD app that could have simply been copied, but the company “felt it was right to build their own custom one from scratch.” This would then lead to endless management meetings full of middle managers who never truly felt comfortable turning on a laptop, only for the end result to become a mess of functionality destroyed by committee, shifting goalposts, blame directed at fired programmers, and years of completely wasted human and financial capital — all for a monstrosity built in Flash one year before it was deprecated.
My only consolation is that if the new generation never knows the true horror of human ignorance, perhaps it will spare them the generational shame.
Different brains, different strokes, but I think the book format is not wrong, the teaching and learning expectations are.
Look at video game or pop culture coverage for example. With a few specialist exceptions, no-ones reading print media for info on them anymore. Things like YouTube and social media and specialist websites are just a lot more practical and up to date.
I get that books make it easier to go slowly (or for writers to spend the time researching), but tech is just a fast moving field. By the time something is available in print form, it's probably already near irrelevant for work purposes.
They're also incredibly useless. If I get a digital book, I can search it, highlight and categorize. And it doesn't weigh or occupy the size of a phone book. Many programming books are just gnarly and unpleasant for casual reading (unless it's a small thin book but it won't go into enough details).
I won't get into the copy pasting argument because someone will inevitably argue about how you should type the examples by hand to learn more! but not consider how many examples are in a book...
So when it comes to buying classics like K&R, get a printed version! But when it comes to 400+ pages, nope, buy digital.
So I think people still crack open books, but they're not paper ones nearly as much.
I grew up with borrowed ZX Spectrum manuals that detailed the Z80 assembly language, (a clone of) a Red Book that came with the (clone of a) Apple II computer that had assembly listings, and fold-out circuit-board diagrams for the whole computer. I taught myself C++ from the manual that came with Borland Turbo C++ and the Waite Group C book. I laughed out loud at footnotes in the Camel book, which I read from the start through to where it becomes a reference. I read Sedgewick's Algorithms cover to cover for fun when I found it in a local library as a teenager. I borrowed the ancient "build a flight simulator" book from a friend in high school.
I've bought books by Kleppmann, Julia Evans, and Hillel Wayne's in-progress book on proofs. I owned the gang of four design patterns book (although I won't pretend -- like everyone else -- to have done more than skim a few patterns!)
And yet.
For many, many years now every time I've wondered into a bookstore, and meandered over to the fondly-remembered computer books section with a sense of nostalgia, I've just been deeply disappointed and sad. If you're lucky, you'll find one or two books that look worth reading, and the rest is just the product of some giant publishing machine whose sole purpose seems to be to fleece unsuspecting neophytes of their money by pushing on them hastily written books on whatever the current fad is. Often when you look at the publication date and compare it to the release date of the software, it's obvious you couldn't write a _good_ book that fast.
And they're all huge. The C Programming Language, Javascript: the good parts, and The Go Programming Language are just about the only three examples I know of where concision was considered a virtue. Most are just fluffy as hell, which is offensive to the kind of mind that wants to learn a programming language.
Add to that the observation in the article that paper books for programming languages are inherently weird.
So yeah, nobody cracks open a programming book anymore, but there are lots of compelling reasons beside AI, reasons that make you grateful if AI can save you from having to wade through an ocean of dreck.
I can imagine a heavily curated shelf of programming books, and it would be a thing of beauty, a collection of potent fireworks shot into the dark of the unknown. But, like, who would go to Barnes and Noble or whatever and actually see it, and actually buy something?
With AI that toolbox doesn’t grow. You don’t become better, everything from now on will be wrangled into shape with the frozen set of skills you have at this point.
For some people this is fine. For me the endless learning and sharpening of the blade is one of this most appealing parts of programming, so I hate this.
It's wrong for so many reasons. It disrupts talent pipelines. The staff+ people probably don't want to work twice as hard to cover the cut headcount. In general, people prefer to work on systems that are well architected and not some slop that got vibe coded up in a weekend.
They (corporate upper management) could've just done nothing and the end result would've been better than whatever the fuck is happening right now
https://www.ebooks.com/en-us/book/345913182/ai-engineering/c...
Take a guess why so many younger devs will opt to pirate a PDF rather than purchase retail programming books. Publishers are pricing themselves out of the market.
- Okasaki, Purely Functional Data Structures https://www.cs.cmu.edu/~rwh/students/okasaki.pdf
- The Garbage Collection Handbook https://gchandbook.org/
- The Dragon Book - https://faculty.sist.shanghaitech.edu.cn/faculty/songfu/cav/... (yes, it's old, but I still like the end-to-end, all-in-one intro)
- Windows Internals - https://learn.microsoft.com/en-us/sysinternals/resources/win...
- Structure and Interpretation of Computer Programs - https://web.mit.edu/6.001/6.037/sicp.pdf
- Concurrency Control and Recovery in Database Systems - https://www.microsoft.com/en-us/research/people/philbe/book/
- Crafting Interpreters - https://craftinginterpreters.com/
- What Every Programmer Needs to Know About Memory - https://people.freebsd.org/~lstewart/articles/cpumemory.pdf (the best thing Ulrich Drepper ever did)
- An Introduction to Modern Cryptography - https://eclass.uniwa.gr/modules/document/file.php/CSCYB105/R...
A good programming book gets better with age. If it's really about ideas and uses this or that technology for exposition, so much the better: the more remote in time the grammar of the examples, the more you can focus on the ideas. SICP being in Scheme is an advantage because you don't know Scheme yet; Windows Internals being about Windows teaches you generally good lessons in OS design by forcing you to contemplate a system alien to the Unix you probably know better.
It's shocking how many of these seminal books are available for free and how few people read them. Yes, yes, you can get the same information from an LLM, but an LLM won't give you the guided tour through the whole rugged ideas-space and show you a reasonable peak. Order, emphasis, and expository style build intuition, so books (especially old ones) are worth reading.
What made me stop was not LLMs, but that I started to get frustrated by every book spending what felt like 20% of its volume on 'how to properly install this' - something that was little value to me (that's the packet manager's job, and I am not screwing up my installation becaue you like that other processor flag more) - while prices rose. Final nail in the coffin was when O'Reilly decided to aggressively push their subscription model. I'm not paying money every month to get access to a library whose books can disappear at will.
I still buy the occasional No Starch Press book.
I don't think programming books are going anywhere, because they still contain a concise directory full of information on different languages or frameworks. If I try to learn a language piecemeal through chatgpt or blogs I risk missing important details or platform-specific knowledge. I'd believe books on vim are going away but books on languages or other job-essential tools have a use in the market and I can't imagine they'll go away.
Sol,
Off-Topic: If I suspect that somebody in a company, or message board is tampering with a user's account, when they are not supposed to, say by blocking their ability to login, would legal action against the company in question be justified on the part of the user?
It’s so obviously better to learn programming in a web based medium. Not just for tutorials or code-running environments, but also for having up-to-date manuals and references for tooling as new releases come out.
Or, if you don’t like that, e-books are again vastly superior with the ability to search easily without flipping through indexes, copy/select text, etc.
Books become out of date so fast, and you live in a hell of manual transcription, which is not actually that helpful for learning despite being highly manual. I also remember dealing with typos and mistakes that were hard to fix as a new learner. Let’s hope someone sent a letter to the author and that the book sold well enough to get a second edition, which I’d then have to buy…but by then it was too late, I’d have moved on.
There was a huge bookshelf because there was no better option. Just like Blockbuster video, something far better came around.
I volunteered, did the best job I could, and posted an honest review via blog. I got more review requests, and a few other publishers contacted me for the same.
I didn’t really master much, because I didn’t put hands on keyboard for a lot of it. But I got a good view of the technical landscape, and I accumulated a nice paperback library.
Before too long, the free books became free ebooks and some of my contacts needed renewing as natural career progression took place. I let my ‘hobby’ die off as I dug deeper in the topics that interested me.
So that era passed. I still have several books with my name in the credits, sort of a souvenir set from the time.
Probably for the best that books are going away, kids these days tend to turn them into their entire personality and keep alive bad ideas far longer then they have any right to exist.
I agree with the article good code lives on screens, it should be self documenting. If it can't be self-documenting then a tool is the next best thing, then docs, books, If a person has to explain to another person what going on something is very wrong. I also agree that "teaching modes" on chatbots need to be far stricter, I've seen some research in this direction. But it's also on the community to create a software cannon that isn't controlled by some megacorp so your dedication is yours.