I also like to go back to books. I cannot do that with the O'Reilly platform when a subscription ends.
I hear you and agree on the unlicensed training point - it is a form piracy.
The people who "grew up" with text books still crack new ones and old ones.
The current generation turning 18-21 don't.
It surprises me because I'm often asked why I knew X or Y odd perhaps esoteric fact or design pattern. Usually it's because I came across it in a book interested in something else.
It's that peripheral knowledge that is being lost when people use LLMs, and quick start guides.
Historically you'd have a team where skill, knowledge and experience was very variable but each person often brought another piece of the puzzle to a team.
Increasingly people have narrow knowledge "bases".
Does it matter? Perhaps not but it definitely has taken some of the joy of discussing problems and solutions out of my working life.
It was like this in the days when the primary shortcut was StackOverflow as well. People who are allergic to RTFM treat things that are covered in the docs as "esoteric" knowledge because they never read anything except as a shortcut to solving their immediate problem.
I think the stats are clear that reading is in decline in general, though. I'm sure LLMs will add to this much like YouTube has.
In 2006 medical students spent 10.8hours per week studying with textbooks, on 2021 4.2hours.
So under 40% the textbook usage as 2006. That's a fairly precipitous decline and it's pre-LLMs being mainstream. I down chatgpt 4/5 have sent the students back to the library!
It mentions question banks have expanded as have online resources. Also learning style has changed from lecture based to problem based learning.
I can't say this is objectively bad. But that I'm sure it contributes to narrowed knowledge bases.
Funnily enough, people on HN often do not consider this an issue, like at all... I wonder how they'd think about it if they had created something (meaningful) that was subjected to this. I love Go and learned it a lot in the past 2 years but ultimately put it down in favor of more "batteries included" solutions as I don't trust myself enough as a dev to confidently handle concurrency in Go. Still, it's a beautiful language and if I ever come back I hope I can still find books about it, as I hate using AI for learning.
So I think Anna's Aarchive is fine. OpenAI is not.
The argument about the ability to self host doesn't really make sense to me given that most of society can not even afford RAM at the moment. So all these big tech frontier models should be public domain.
Self-hosting isn't relevant here anyway. When discussing the hoovering up of information irrespective of licences to produce the model, where the model is finally run isn't significant.
You might not be paying the industry pirates-at-scale to run a model on their hardware, but you are still using the same information, irrespective of the same desires of its creators, the same way, just in a different location.
Heck, local hosting might even be making the situation worse if people are trying to train their own model because they are then likely to be scraping data too, and becoming part of the army of bots that are pushing hosting costs up and forcing everyone to use tricks like PoW scripts that can inconvenience human readers as much as the scrapers.
For individual use I personally think it's ok. Access to information shouldn't be penalized or regulated, but distribution should. So in this case it's relevant where a bootleg model is run.
I didn't have a problem with it when it was Aaron Swartz, not sure why I should have a problem with it when others do it.
But he was working with scientific papers— the outputs of public institutions— and his likely goal was releasing them to the public. What proprietary AI companies have done in training LLMs on every book in existence is nothing like that.
2) more importantly, Swartz wasn't building a business empire on the pirated data, and charging access
I don't see how the two are even remotely similar
Honestly I didn't expect LLMs to progress so fast. Now it just seems like an unnecessary solution to a problem that no longer exists.
I used to write books in the past (all obsolete since, well, two decades+ now) and I'm totally fine with piracy: people who are pirating content are typically not those who are going to pay for it anyway.
As a sidenote I'd really wish that state resources spent fighting bad actors in society was first uses to catch and imprison rapists and the likes and not chasing pirates sailing the digital high-seas but I digress...
Priorities.
Thats why I wrote meaningful. Two decade old books are depending on the topic rarely still meaningful (even if they might've been at the time of publishing). Talking about non-fiction here, as there's a ton of old but still relevant fiction out there. Nonetheless, if you would have published these last year or whatever, I think you'd think differently about it if your sales broke down by 50%+ due to AI.
> Funnily enough, people on HN often do not consider this an issue, like at all...
That is far from true - opinion is quite divided, perhaps even close to 50/50. It sometimes seems that the opinion is skewed massively towards the positive because there are a lot more “look what I did with GenAI” stories because “yeah, I'm not doing that because… here's what I did the old way” doesn't catch interest in the same manner.
This is one of the (several) reasons I'm doing my level best to avoid using the tools - I don't want to pay in to the companies that have run ripshod over everyone's work because they can¹. This is a rather risky position to take in a company where the up-aboves have all but said “get with AI or get left behind”, but quite frankly at the moment “redundancy” isn't a scary word for me².
--------
[1] Take from a few (i.e. download a couple of TV shows) and it is piracy making you liable for huge fines or even prison time, take from practically everyone (hoover up all their published writing irrespective of licence, gum up their servers with your badly written, or well written but deliberately badly behaved, scraper, etc…) and that is perfectly valid for training purposes.
[2] I appreciate that for many this is not the case, and because of economic pressures they might have to compromise on their feelings if they have the same opinions as I do on GenAI.
That might be true if you look further into it. I am a casual frontpage reader and the frontpage usually is plastered with AI stuff. Either new bullshit benchmarks, AI workflows, AI editor updates, AI company did something bad (again), or cool(?) projects people vibecoded. I also had arguments about AI used for art on here before and my personal experience usually is people defending their slop art.
You don't have to look much further into it. If you aren't making that much effort it is hardly anyone else's fault that you've got an inaccurate impression of how things are.
Companies are shrinking body counts, so you have less buyers of programming books.
Your book is highly recommended in the Go community.
I will definitely be reading it once I finish "The Go programming language".
For whatever reason, I forgot that Go uses a gopher as its mascot. But like, their PHP books don't use an elephant.
I dunno, I was just curious if the author could pick an animal to be on the cover, or if it wasn't their choice.
I've known a few authors who published with O'Reilly and other major publishers and most told me that they made less than minimum wage in the end. There were other benefits, such as increased name recognition and credibility that let them charge more as consultants, but the direct proceeds from writing a technical book seldom paid off even two decades ago.
If you publish a 3rd edition and I’m not replaced by AI by then, I’ll buy it. :)
On other topics, using AI can fill some gaps, but books summarizing years of hard-won knowledge are priceless. NoStarch is amazing when it comes to such resources. They have an upcoming book on Linux kernel Memory Management for example, the classic Linux tome from Kerrisk and very specialized security books.
On the other hand I cancelled my O’Reilly sub because I didn’t read enough to make it worth the price and now I purchase DRM-free e-books individually, as needed.
As for how I feel, I think that LLM companies are incredibly short sighted. If I was them, I’d be funding newspapers, non fiction writers, fiction writers, and artists in general in exchange for the exclusive rights to index. They get content to improve their models and the world gets new knowledge and art. But considering the public good is passé and LLMs have done pretty well by stealing everything. This might be why I’m not a billionaire.
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.
Either way, one needed far smaller books the moment all of that came in, especially because in Java, library code is very readable. Compare that to looking inside a C++ standard library: It's not impossible, but it's of a completely different nature of normal C++ we might write for a business.
java.util.Date (which was all there was until I think Java 1.3?) was truly terrible and apparently was written by an intern at Sun.
java.util.Calendar was a mess and horrible to use but mostly correct.
C++ isn't a language, it's a script. Like Latin, it can be used to express English, Polish and Indonesian.
But maybe that was also your point.
I draw my line at 'U'.
Spanish ñ, Catalan or French ç, German ß. Similarly for ł and other Polish letters. It seems strictly speaking the latin alphabet cannot cover many european languages. But mostly we can say latin can express that. You can write "ss" for German and l for Polish, etc, so it can definitely be used. Source: whatssap messages.
Which also means that it will probably outstrip our ability to comprehend whether or not such things are actually crimes or whether they should be considered as such.
I believe we're getting close to that in pure math.
If nobody neither fully created nor manages the business, then we probably shouldn't assume any property rights on it by anyone, therefore all the profits must go to the public.
Java Unleashed, first edition 1996.
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 :).
Younger me really enjoyed some of the game programming books by Andre Lamothe.
Most “Learn Language X” books were terrible with over focus on syntax and very little thought into organization.
EDIT: Edited, not wrote. My bad. That's a crucial distinction. Also, I meant the Llama book, not the Camel book.
The Camel book was already a huge bestseller, and was one of the anchor books of the early OReilly series. It made Larry a pretty penny
The first edition came out in 1991. The 4th ed came out in 2012, by which time Perl was no longer the duct tape of the internet. Perl 6 had muddied the waters, and Ruby and Rails had peaked.
Still, 1000 is painfully low, esp. for a high quality product.
And when you got past the beginner stuff, non existent.
I've randomly tried to improve my $LANGUAGE_I_ALREADY_SHIPPED_SOMETHING_IN knowledge across the years, but if you look at books there's a plateau, and it's not too high.
With the internet, there are random posts here and there with pieces of info that will help you improve yourself. But no books.
I do get language books, but only as a reference. For anything more advance, I usually read the sources.
And they do, in random forum and blog posts though.
I found books on architecture, systems, or patterns, were more available. E.g. On relational database optimization principles, or Unix system administration, or graphics algorithms and rendering math, etc :)
I'd always start with textbooks then flesh out the gaps with internet materials.
I felt "linear learning" from a veteran practitioner gave me a shortcut to how I should store the material and conceptualize the relationships between moving parts. Like surveying the land, putting foundations where an expert might put them, but then I was on my own for what knowledge to actually build.
"...the fact of the matter is that kids getting into high tech and programming mostly don't read books anymore. How do I know? Recently I was hanging out with a bunch of high school students who asked me how I learned. I said it was mostly via books and man pages. "Yeah, don't sleep on high quality written material. O'Reilly. Wiley. Addison-Wesley. Manning. MIT. No Starch Press. &c...
"Well. You should have seen the look on their faces. I might as well have morphed into the Steve Buscemi meme "How do you do, fellow kids?" They looked at me like I was a total relic or greybeard and said things like "Nah, nobody reads tech books anymore; I learned Typescript from YouTube videos."
> a guide, a book that taught me unfamiliar concepts in top down fashion, and took some degree of responsibility to be both accessible and comprehensive
> the tutoring of LLM, but to this day as a complement to a guided book
> I grab a book, and then use LLM to supplement my reading
My sentiments exactly!
People forget that mere data/information without a proper encompassing mental model/framework into which that information slots in to complete the big picture is what education and knowledge are all about. You must see the forest and not just the trees.
This is particularly relevant to CS since there are so many interlinked concepts involved that you can get overwhelmed and drown in the details without understanding anything. Edsger Dijkstra explicitly pointed this out in his EWD340: The Humble Programmer - https://www.cs.utexas.edu/~EWD/ewd03xx/EWD340.PDF
If you haven't built up a systematic and holistic mental model then you have not learnt anything. Top-down design and Bottom-up implementation both have to meet for the system to come together.
This is the main reason you need a good teacher or a good book as a stand-in for the teacher.
> People forget that mere data/information without a proper encompassing mental model/framework into which that information slots in to complete the big picture is what education and knowledge are all about. You must see the forest and not just the trees.
should be,
People forget that mere data/information without a proper encompassing mental model/framework into which that information slots in is useless. To complete the big picture is what education and knowledge are all about. You must see the forest and not just the trees.
Textbook designers know this and use images, callout boxes and insets with case studies/graphs to break up text on pages so that your brain gets extra context to map 'what' to 'where'.
This is (imo) why infinite scroll and mixed order algorithm feeds are such brainrot (even if you are looking at educational content). You try to recall something you read but it was in an ephemeral location in an always changing stream of content.
(cooking - when learning a new recipe, I'll always find a few versions from reliable sources to compare, see what they have in common, and try to understand the reasoning behind differences)
Ever write a piece of code, pore over each line, test the hell out of it, and only when you actually submit the PR and see the diff rendered in your review tool that you spot some totally bone-headed thing you've done?
Viewing a familiar concept in a new context gives you new insights with surprising frequency. Context shifts the priors in the mind. That's why, yes, combining reference/LLMs/tutorials and comprehesive pedagogic tours on rails gives you the best perspective on a new domain.
(BTW: it's due to this effect that company offsites and retreats are good investments, not wastes of money.)
Since then I’ve read books on Ruby, Go, Elixir, Docker, K8s and a lot more. By far the best way to get a semi complete understanding of anything without scraping together data from the internet yourself, because you won’t easily know the gaps.
Those alone are the ones I've been re-reading this year.
Thanks for the rec for "rust for rustaceans" I'll have a look into it.
I've only been using chatgpt for points where i'd normally go ask another dev for another set of eyes to debug something, otherwise all my learning and doing has been mostly the rust book, crates, and blogs about rust, ecs, roguelikes etc etc. It's been so fun!
Sometimes I start with reading the books. But I already known I won't retain anything deeply. But it will gives me all the right keywords to learn more about the technology.
It always amaze me when I see fellow programmers struggle with problems that could have been solved easily by just reading that introductory book on the subject.
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.
Overall I think it's a really good book for this kind of thing: https://htdp.org/
> 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?
I don't think language tutorials or "Learn $LANGUAGE" are good targets for introducing people to programming. That's true whether it's a book or a blog post or a YouTube tutorial. You want to teach computational thinking per se before focusing on a particular language. Something like HtDP or _The Little Schemer_ or _Logic, Proof, and Computation_.
Even if you want to dive in with practical skills before developing a foundation, you still don't really want books with targets as broad as "Learn $LANGUAGE". You want something like the _Learn Enough ... to be Dangerous_ series, probably starting with the entry on Command Line and then moving on to the entry of a target language (JavaScript, Ruby, Python) in the same series. Then you can move on to a book that tries to teach more or less a whole language, or a programming paradigm through the lens of a particular language.
If your goal is to learn programming, it doesn't matter that much if the programming language is obscure or the toolchain is out of date. But if your goal is to learn some language to work with peers in it at work or something like that, then yeah, you gotta check the publication date.
For a lot of us, maybe our first programming book or class was presented as a "Python course" or a "Java course" or whatever, but that doesn't really represent the goals of a first encounter with programming no matter what your strategy is.
ABC. Always Be Closing.
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...
Any question asked would be edited beyond recognition (and usually into brash rudeness). Half the answers were demanding ever increasing proof of work, and the other half told the OP that they shouldn't even be trying to do what they're doing. The only useful thing were opinion based posts from people with domain expertise, and SO kept trying to ban and remove those. It was the least helpful place online, but the most accessible, and it survived for lack of alternatives.
I'm no AI booster, but answering simple questions about well understood topics is a perfect fit for it. Good riddance to StackOverflow.
I liked Joel on Software, I liked Coding Horror, and I liked the idea that two internet guys could just identify a problem like that, start a company and fix it.
There was a Goldilocks period of several years where contributing answers was fun. I joined in 2010 and was most active until about 2016. It felt good to help people and since it was in the open, it felt like a resume booster as well, like having an active GitHub profile.
Absolutely! It answered so many questions I had. I remember when it was relatively new, and I'd just heard about it, it profoundly changed how I found answers to programming questions. Suddenly I could find people having similar problems that I had, who had asked the question, and had actually gotten a useful answer from someone who knew!
It wasn't perfect, of course (nothing is), but it was orders of magnitude better sifting through crap blog posts and confusing reference material. (Not to mention sites like experts-exchange.)
Here's a conference talk I gave on how to gain Stack Overflow reputation from back in 2018, selected out of 5 submitted talks. It's amazing how fast times have changed from before, during, and now after.
Now, I could imagine an LLM would be able to do the same. However, I understand that this is only possible because of people like them. I don't think the youngins that started with LLM directly would appreciate the humongous amount of data and discussions online that enables that. The internet is so much bigger than just Google, Facebook, Youtube and Twitter.
It was also unfortunately before the retro boom of the 2020s, so questions about older arcana were often vulnerable to being closed instead of answered.
But asking questions was hell.
It may not have aged well but to say it was always crap is rewriting history.
But yeah, I don’t know how anyone could have any affection or nostalgia for it, people were massive jerks and it was not a pleasant place.
You’ve just described a large chunk of Reddit.
Their poor internal search doesn’t help.
Without its "tough love" Stack would have had a similar trajectory. Maybe a few policies here and there were problematic but overall it was and continues to be a huge benefit to the developer/IT community.
In the Good Old Days (or my rose-tinted memories of them), Java/C books and answers will always work even if it's not idiomatic, and JS/Python material might break once in a decade over a major migration like Python 2 to 3. Now I look at Ansible or Zig, copy a simple toy program from SO or GH, and just find that it doesn't work, because `sudo` became `become` and `fs` became `io`. There is simply no way for books or SO to keep up.
That is tragically low!
[1] 1300 x 12 x 51 = ~800K. x12 because every month, 1 user out of twelve asks a question, and x51 because there are 50 lurkers for each poster. I'm sure my assumptions are questionable, and curious about corrections, but we're still at very low numbers.
It never ends well for the new owner. Not just Stack Overflow but also Tumblr, Vine, MySpace, Twitter, and more. Instagram might be the only exception.
Good job on the founders for selling at the peak though.
It’s always more complex than you think
This is kinda like asking if Saudi Arabia and Russia are petrostates lol.
[0] https://en.wikipedia.org/wiki/List_of_most_popular_social_pl...
it just takes the form it needs to.
> 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.I've seen people type questions in to the LLM and get the answer they asked for but not the one they needed/wanted because they didn't have the correct terminology.
Surely the desired state isn't that nobody knows how to write code any more right?
> Surely the desired state isn't that nobody knows how to write code any more right?
Shaping up like that in my org. At least one mid-career dev says he no longer looks at code.I still look at code and find that agents work best when I write the foundation and then vibe on top of my hand-written code. Works extremely well because agent picks up my style accurately.
1) submitted changes that don't need any more revision than their previous human-written ones when it comes to code review?
2) no increase in bug incidents
3) no slow-down in peer work or future work caused by humans-or-agents having to fight increasingly overly-complicated, poorly-factored, copypasta-style code or god methods? (this might not be evident yet)
(Another question is how well is this person doing their job as a reviewer, making sure to keep the product quality bar high, without looking at code?)
Anyone in an org with coworkers no longer writing code needs to be making sure their managers have a pulse on the long-term health of the product to see who's doing it well (lots of test coverage, shipping only super-high-quality, refined-from-multiple angles stuff) or just being lazy (shipping first drafts that continually add debt to various files and methods).
It's generally and simply an encoding of what amounts to binary machine code which you translate via assembly code acting as a deterministic compiler from assembly to machine code if you are doing it manually.
LLMs aren't a deterministic process and human languages aren't as clear as machine code and assembly.
I last used a card punch in circa 1980 or thereabouts...
I remember! You created a control card, with tab stops and other controls, wrapped it around a control drum, and then had an easy time punching your source FORTRAN!
I just looked and found my old control drum, in the back of my junk drawer. But I can't find an old punch card machine in there, most have lost it somehow.
Besides. You're not asking <AGENT OF THE WEEK> to produce punch cards to jam into the PDP.
What would you do if the wizard gets stuck? Coarse the wizard into making the black box work through somebody else's direct perspective on the problem?
It's more like a restaurant. You give an order and a little while later, a finished dish appears.
The difference between a Chipotle and a Michelin starred establishment is that Chipotle is just assembling a mass produced good. A Michelin chef knows their ingredients inside and out; knows the science of how those ingredients work; knows varied techniques to extract flavors, create textures, etc.
Anyone can work in a Chipotle; few can achieve a Michelin star.
But that's not how human nature works. Most people take the path of least resistance. Especially when the primary purpose of the invention is to offer convenience.
The default output of any agent is going to be Transaction Script, for example. It will never on its own accord start writing Domain Model.
As it produces more Transaction Script and sesles its own Transaction Script, it will regress to this paradigm.
You can get it to write Domain Model, but that is not its default.
I liken it to examples in docs: they are always intentionally the simplest case.
That book has some of the coolest programming techniques. Even if not all of them are applicable everywhere, truly a good refresher. I don't know perl but write the examples and follow along in JS. Great stuff.
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
I probably have another OS book that covers slightly different ones — instead of IBM mainframe OS it covers CP/M.
I’m sure I made some contribution, but a lot of it is just him-e.g. he’s an Arch Linux zealot, I never touched Arch until he started demanding I fix things he’d broken in it. I think he was converted to Arch by Youtube
> Btw you can probably get him access to the actual systems — there are people offering accounts for those operating systems.
I’ve run MVS under Hercules before, he doesn’t need anyone else, he can emulate and I can help him do it. (Except for OS/400, there is no emulator for that sadly, but I have a free IBM i account from pub400.com and he can get one too.) But he hasn’t decided he wants to yet
As a preschooler he already knew how to use DOS (technically DOSBox’s command prompt), because he was in love with Commander Keen mods
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.
Reading a small paragraph and then immediately putting it in to action made everything clear far better than books did.
It also shows up in other areas like language learning where some people prefer classes and grammar books, and others prefer to just learn via exposure to a lot of content.
There would be some things books can provide that are probably better than other options, but for a lot of hands on skills it seems best to learn in a hands on way.
Different people learn differently and not everyone needs to type something in to learn it.
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
I'd speculate that the number of people who own these outnumber the people who have actually read them by a pretty wide margin.
I also want to get into Solaris, too, because it introduces a lot of ideas back then.
Books are still good for the fundamentals of course.
Head First series try to take different approach, but by then my brain has already too used to question every single sentence and goes on its way exploring which books simply aren't designed for.
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.
The stuff in those books will never get old, and I often find myself searching for some algorithm or concept that I know I've skimmed over in the past, but no web-searches or LLMs can give me an answer on.
I think it may be due to the lack of open, digital copies of TAOCP available for pillage, as well as the fact that the books don't target a particular language.
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 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'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...
You might also want to get the 1st edition to understand how the earlier 32-bit programming differs from the current 64-bit programming. You can probably get it for free/throwaway-price.
Pair your CSAPP book with Advanced C and C++ Compiling by Milan Stevanovic and you can become a "Low-level System Programming Guru" ;-)
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.
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)
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.
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.
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.
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.
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.
I'm curious if someone built a proper interface for that usecase.
Many of those are not programming books, but they do seem to be recently published, I wish my Japanese was better.
Maybe we can build something else in parallel for the other opt-outers
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.
A reference book on a particular language is going to have a pretty short useful lifetime, since any language of significant popularity will evolve relatively quickly.
In contrast, a reference book on general programming knowledge (e.g., design patterns) could very well last a lifetime.
I wonder if these books will eventually be interesting, the way old ham radio or slide rule manuals can be, or if they're just forever doomed to irrelevance.
Another book that's worth its weight is "The Linux Programming Interface" and "The TCP/IP Guide". Also you can probably buy "The Go Programming Language", "Programming Erlang", and "Programming Clojure" and still come ahead. As long as you choose to learn technologies that have thoughtful design, or has a standard (even a de-facto one), you're golden.
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.
Using paper just works better for me.
I do use LLMs for asking questions, and other learning tools.
Though it's a shame that current copyright law is incompatible with building an effective digital library that isn't crippled with restrictions designed to impose the limitations of paper books (or worse) onto ebooks (while removing benefits such as first-sale doctrine.)
Libgen is a huge improvement. During the period you're referring to, what was available was determined by popular demand, which meant that books weren't available at all.
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.
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
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.
most accurate description of Perl ever
Different brains, different strokes, but I think the book format is not wrong, the teaching and learning expectations are.
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.
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.
> It's shocking how many of these seminal books are available for free and how few people read them. ... 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
Very, Very True! I have a huge personal library of my own and keep adding to it regularly.
IMO, most people nowadays don't want to put in the effort/time needed to learn something complex. Everything has to be spoon-fed and if they don't grok it the first time, then it is the fault of the author/subject/etc. I just don't see the sincerity and commitment to long-term study which is essential to understand any Science.
> The Dragon Book - https://faculty.sist.shanghaitech.edu.cn/faculty/songfu/cav/...
I mean, everything is available for free if that's your standard. You think Song Fu is authorized to give out copies of the dragon book?
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?
I appreciate the honest feedback, Sol
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.
Oddly enough I do a little bit of computer consulting for one such person.
Many parts of the world still rely on horse and cart today, even modern societies.
Unless you live in a place with dirt roads, or really love horses, I think a beater Toyota would win in terms of time and cost.
A horse has the unique feature that it can create more horses, which is something a car doesn't do. Horses are also unique in being an appreciating asset, which cars are most definitely not.
Anyone have a chart showing horse value over time? I'd think there would be a pretty sharp drop in value at around the 30 year mark.
In addition a prized stallion continues to produce value long after he’s dead due to AI.
I regret not getting a horse from a certain guy when I had a chance. His stud fees are now in the five-figures. Prices at the horse progress often hit six figures.
- 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).