Nobody cracks open a programming book anymore

272 points by zdw 19 hours ago on hackernews | 301 comments

CharlieDigital | 18 hours ago

It's a shame because to guide a coding agent, you need to have the right grammar and vocabulary to describe what you want and how you want it to be built. Junior devs should read not because they need to know how to write the code, but they need to know the vocabulary and the grammar to guide the agents.

natebc | 18 hours ago

Junior devs should still read to learn how to write the code.

Surely the desired state isn't that nobody knows how to write code any more right?

eclipxe | 18 hours ago

Do you know how to operate a punch card?

natebc | 18 hours ago

Yes. But Python isn't punch cards behind the scenes so it's not the same thing at all.

Besides. You're not asking <AGENT OF THE WEEK> to produce punch cards to jam into the PDP.

Scoundreller | 13 hours ago

someone needs to try this

jhide | 18 hours ago

Do you maintain a system in which punch cards play a critical role?

ares623 | 18 hours ago

Do you let your Jenkins re-inference your entire program from markdown files on each push?

eric__cartman | 18 hours ago

If I transported you to the 1960s and gave you a wizard that could punch cards for you with a chance of making a mistake, would you still bother to learn how to operate a punch card?

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?

merlincorey | 18 hours ago

Yes, and IBM has current documentation if you need to that has been updated in 2026: https://www.ibm.com/docs/en/zos/3.2.0?topic=considerations-u...

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.

fghorow | 8 hours ago

O.M.G.

I last used a card punch in circa 1980 or thereabouts...

CharlieDigital | 18 hours ago

I don't think this is comparable.

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.

wpollock | 17 hours ago

> Do you know how to operate a punch card?

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.

I've never programmed before good compilers existed, but I still know some assembly. For what I currently do it's used rarely, but it's still quite valuable on occasion. I don't see any reason LLM-assisted programming wouldn't be like that; for sure the various C compilers sure seem like they're trying just as hard to produce results you don't want.

CharlieDigital | 18 hours ago

    > 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.

majormajor | 17 hours ago

Hopefully your management is trying to answer the following question: is said middle-career dev outproducing their past self, and others who still look at code, with:

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).

sodafountan | 18 hours ago

I was wondering about this myself, but given everything I know about AI. Won't the vocabulary slowly and subtly change as common people try to develop software, not knowing the jargon? Won't the AI systems learn from the prompts and adjust their understanding of what's trying to be accomplished?

CharlieDigital | 7 hours ago

It will regress to the mean.

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.

add-sub-mul-div | 18 hours ago

And to operate a self-driving car safely you need to keep your attention on the road so you can take over quickly when needed.

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.

Gigachad | 18 hours ago

At work we had a dispute over if AI should be allowed in the technical interview, we resolved it by both running an AI allowed and not allowed interview. Something interesting we found is that every candidate either passed or failed both. People who could not program manually without AI were not able to get the agent to complete the tasks either.

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.

thedangler | 18 hours ago

Remember man pages to learn an write C. Guided AI is good if it learns from a book not crap code found on GitHub.

MathMonkeyMan | 18 hours ago

I think it might have been a cognitive development thing, but at some point in high school, Stroustrup's "The C++ Programming Language" just kinda clicked for me, like I hadn't been reading it properly before.

Gigachad | 18 hours ago

I tried to get started with programming with books. But I just didn't seem to be getting anything, I'd read the chapters and not really learn or understand it. What really worked was interactive education like Codecademy and some others I have forgotten the name of.

Reading a small paragraph and then immediately putting it in to action made everything clear far better than books did.

OneMorePerson | 17 hours ago

It's fascinating the different ways human minds work and learn. I'm the same way.

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.

Gigachad | 17 hours ago

I think this is probably just the common experience. Programming is probably best learned hands on rather than through a book, which is why the use of programming books has fallen off a cliff once we got other options. Even before AI I think programming books had already fallen off in popularity.

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.

OneMorePerson | 15 hours ago

Maybe, I haven't looked into it too much, but among the people with a preference for classroom and textbook based learning there does seem to be a large degree of fear of failure, which influences what might otherwise be a different natural preference. Fear of failure is exacerbated by making mistakes in public, but it seems to even apply when nobody is there to observe someone making mistakes.

NetMageSCW | 4 hours ago

I used to read a constant stream of magazines before such books became more widely available, and then just read the books and knew the language. I could read APL after reading a pick and write C after reading the book.

Different people learn differently and not everyone needs to type something in to learn it.

sputknick | 18 hours ago

Hot take: I'm reading programming books more now. There is so much to know about any technological topic and an LLM can tell you all of it, but it's overwhelming. What a book does is disciple and structure what you need to know, and what order to learn it in. Start with a book, grow your knowledge and put it into practice with an LLM.

geophph | 18 hours ago

I just bought $600 worth of programming books and I’m pretty stoked to read them. Mostly a lot of titles considered “the classics” but my brain works best with hard print materials.

trevcanhuman | 18 hours ago

would you mind sharing the names of the books you bought?

thundergolfer | 14 hours ago

https://teachyourselfcs.com/ is an excellent list

zippyman55 | 18 hours ago

This is a good investment. Your fingers will remember things long down the road and you will be better at having an AI bullshit detector for code development.
After being discouraged by the ever looming "threat of AI" in programming, I took up some older books. If you didn't get it, I highly recommend "higher order perl" https://en.wikipedia.org/wiki/Higher-Order_Perl

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.

fartfeatures | 18 hours ago

Nobody uses a horse and cart as an every day method of commuting anymore.

weikju | 18 hours ago

People still exercise and make up physical activities to compensate for the more sedentary lifestyle, though.

jml7c5 | 18 hours ago

It's a bit different than that analogy would suggest. Learning things piecemeal can leave strange gaps in one's knowledge, in my experience. A book is often much quicker.

casey2 | 15 hours ago

Almost all programming books are more piecemeal than the docs

misswaterfairy | 18 hours ago

Horse and cart might be antiquated and slow, but my god are they so much cheaper and more reliable than the modern car.

Many parts of the world still rely on horse and cart today, even modern societies.

badc0ffee | 18 hours ago

You can't just buy a horse and park it in a garage. You need to exercise it, give it vet care, shoes, feed it, deal with poop, etc. Or, pay someone to do that.

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.

trollbridge | 14 hours ago

Well, you can't really just buy a beater car and park it in a garage. You have to perform maintenance on it, and the worst thing for a car is to just sit a long time.

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.

trollbridge | 14 hours ago

There are quite a few people who do exactly that, including in modern Western countries.

Oddly enough I do a little bit of computer consulting for one such person.

corvad | 18 hours ago

I still even now feel that K&R C should be a mandatory reading for CS students, but alas.
Yes I have both copies, prefer the ANSI C second edition my self. I brought another second hand C programming book and when I was working through the exercises in the mid 2000s the GNU C compiler kept issuing warnings as the code used gets() to read strings. :D

markus_zhang | 18 hours ago

Curiously, I do buy and read tech books. My hobby is legacy OS kernel research so I bought some second handed books on old Linux (kernel 1.2) and NT (3.1). It is fun to research so I don’t use AI often for side projects.
I enjoy reading really old programming books, the 1997 edition of Learning Perl mentioned in the article being a perfect example. I don't fret over the exercises, but if it's well-written it gives a glimpse into how people thought about technology/code/computers at that point in time, like the tech equivalent of flipping through old newspapers.

markus_zhang | 51 minutes ago

I agree. I also read a few books written by Microsoft people back then. I really enjoyed the writing style and the more hardcore programming environment back then. Wish I could live through that era.
Are you thinking of getting in to NeXTSTEP 3.3/OpenStep 4.2?

markus_zhang | 6 hours ago

Thank you for the recommendation. That’s an interesting topic. I’m pretty full right now so unfortunately even getting into Linux and NT is a bit hard for me. I was reading VFS but bogged down due to lack of time :/

I also want to get into Solaris, too, because it introduces a lot of ideas back then.

ddoolin | 18 hours ago

I started learning software in the early 2010s and I read a lot of software books like the ones mentioned in the article. I continued reading them as the years went on, but the last one I bought was probably 4 or 5 years ago. Naturally, I probably don't need books as much as I used to -- I can generally pick up something new and know where to find what I need to find, "learning to learn" and all that. I also think they are better for foundational knowledge; many times the books become outdated very quickly. So if I was gonna attempt to write a database or learn distributed programming theory, I'd probably pick up a book, but if I wanted to learn a specific tool (or most languages) I'd probably stick to the web.

eterm | 18 hours ago

> Stack Overflow is receiving about 3,800 questions a month

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...

DANmode | 18 hours ago

Too early to call, but that is a crazy stat. Wow.

Gigachad | 18 hours ago

Too early to call? It's hit rock bottom. I've never seen a major site die so completely before.

Grokify | 18 hours ago

Digg was a major site that had a surprisingly fast turn of events. There are some good lessons from that.

antiframe | 18 hours ago

MySpace comes to mind. Slashdot maybe.

Gigachad | 18 hours ago

Both before my time. These days it seems like every site is able to withstand pretty much every controversy. Facebook should have died about 5 times by now but the company is as strong as ever.

DANmode | 15 hours ago

LifeLog doesn’t ever die,

it just takes the form it needs to.

DANmode | 13 hours ago

Groupon? Did an IPO with a 12.7b valuation and was mostly dead within a year.

DANmode | 17 hours ago

Google Search was looking bleak at one point, recently, based on deltas alone.

troad | 18 hours ago

Did anyone actually like StackOverflow?

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.

Dig1t | 18 hours ago

It was pretty dang useful when there was no alternative, and I’m sure that many people physically could not have performed their jobs without copy-pasting from it.

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.

tayo42 | 18 hours ago

I was just thinking to my self the other day how it's nice I don't need to stop what I'm doing to make a question that's answerable by someone else. Ai can answer my question without me spending time recreating the problem and stripping out all of the irrelevant context

elephanlemon | 18 hours ago

StackOverflow was great when I was a very junior dev working on JavaScript apps. Anytime I ran into a roadblock, there was often a relevant post there to help me. As I become more competent though, I realized that reading the documentation directly was usually a much better way to get answers to my questions, and I stopped visiting.

_jackdk_ | 18 hours ago

I did originally, when it collected a bunch of obscure knowledge and made it searchable and useful. It was fun and rewarding to put things you knew into the common knowledge pool, and everyone celebrated a successful competitor to Experts Exchange. The SO model had a few major flaws that became impossible to ignore after it was entrenched. First, the reward scheme rewards the exact opposite of what it should incentivise: common questions are hit by many users and therefore attract lots of upvotes while answering the really hard stuff often meant you didn't even get your answer marked as "accepted" (because the OP had given up and stopped checking the site). Second, the site deliberately cultivated an "editor caste" in the Wikipedia style before the failure modes of that model were well-known: well-intentioned newbies get shut down by miserable yet untouchable people who play (and sometimes help write) the site's rules. Third, the stated desire to identify canonical answers to questions had no clear way to handle the evolution of the software people were talking about. So you'd have highly upvoted answers that might have been referencing deprecated libraries, and it was very hard for the newer answer to gain traction via either internal or external search.

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.

Grokify | 18 hours ago

Stack Overflow was a nice experience for me because I was able to hit 2k reputation fairly quickly, in just 30 days of posting and 6 weeks calendar time. That being said, it never had the community feel of places I spent during my formative years, which were more on forums and IRC.

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.

https://grokify.github.io/stackoverflow-the-hard-way/

musicale | 17 hours ago

I have found StackOverflow useful on rare occasion, but the friction, idiotic moderation culture, and high noise-to-signal ratio usually made it somewhere I didn't want to return to.

kajaktum | 17 hours ago

I had a pretty good time asking a question about Prolog. It was a really interesting experience knowing that there's someone out there that high proficiency in a very niche language, patiently explaining to me an issue that they have probably heard a million times from yet another imperative programmer. They even have their own website advocating for Prolog, etc.

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.

superdisk | 50 minutes ago

I see you ran into Markus Triska. He's indeed a legend and his StackOverflow posts were super high effort and illuminating.

BrenBarn | 17 hours ago

I thought StackOverflow was pretty great. This is an unpopular opinion but I think a lot of the questions that were closed really deserved to be closed. Otherwise it would have been a firehose of the same basic questions over and over again. For every person who posted a question and got mad that it was closed, there were probably 100 people who googled something and found a useful StackOverflow answer that was relevant and useful to them although they never posted their own question or even made an account on the site.

Scoundreller | 13 hours ago

> Otherwise it would have been a firehose of the same basic questions over and over again.

You’ve just described a large chunk of Reddit.

Their poor internal search doesn’t help.

mrgoldenbrown | 17 hours ago

Yes, I liked it. When it debuted it was a massive improvement over expertsexchange, who had previously dominated the Google searches with bait and switch previews.

It may not have aged well but to say it was always crap is rewriting history.

It was great 15 years ago before the Iron Law of Bureaucracy kicked in and the powermods took over.

dd8601fn | 16 hours ago

Also it solved the Experts Exchange problem, which was an absolute cancer on the web for years before Stack Overflow destroyed them.

Intermernet | 6 hours ago

They originally didn't have a hyphen in the URL. No one called them Experts Exchange!

chucksmash | 16 hours ago

Yes. In the beginning they didn't ban opinion based posts (that's why you can still find some of them that were left up for "historical value").

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.

cyberrock | 16 hours ago

For me the main problem of SO isn't even the moderation or human interaction. Even if a question is answered successfully, the entries have a short shelf life because modern APIs move and break so quickly. For example, I tried learning Ansible only through books and SO, and it was just frustrating. ansible_sudo_pass was deprecated for ansible_become_pass, but there are still many books and SO questions that still reference ansible_sudo_pass.

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.

sjamaan | 9 hours ago

Java and C are older languages which have either solidified (C) or are very careful about breaking compat (Java). Most languages nowadays are indeed in the "move fast and break things" mode.

recursivecaveat | 16 hours ago

I always thought it was a perfectly fine service for lookup. Asking a question though required a very specific confluence of circumstances to actually be a useful thing to do, so I only did that like 1-2 times in many years of reading it from google.
I liked it, still find good answers, and it was gratifying to provide answers when I could.

kelnos | 11 hours ago

> Did anyone actually like StackOverflow?

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.)

amelius | 9 hours ago

I liked StackOverflow for the answers.

But asking questions was hell.

You may substitute StackOverflow with Quora and your answer would not get less valid.

csomar | 6 hours ago

I left it around 2014 and the graph does show that. I think what happened is that around d 2014, it gets so many people from search that it could simply abuse users left and right and still have tons of new questions everyday.

Legend2440 | 18 hours ago

This is why you never pay $1.8 billion for a social media company.

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.

slashdev | 18 hours ago

Instagram, YouTube, WhatsApp seemed to work out well.

It’s always more complex than you think

colonelspace | 17 hours ago

Are YouTube and WhatsApp social media?

nicce | 11 hours ago

Yes, few of the prime examples?

kingstnap | 4 hours ago

You named the two biggest platforms [0], YouTube and WhatsApp are the social media.

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...

CuriouslyC | 17 hours ago

Insta and YT were bought fairly early on the ascent and then pumped hard with some resources and autonomy before being folded in completely. WhatsApp is a legit counterpoint though.

PixyMisa | 15 hours ago

And Google already had Google Video when they bought YouTube. They retired their own platform to go all in on the acquisition.

tholm | 18 hours ago

Interesting looking at the data, the questions always seemed to peek in March. Anyone have insight into that?

Jeremy1026 | 17 hours ago

A lot of companies don't hire at the end of the year because of holidays breaking up schedules, coupled with strapped budgets by that point. New year starts, budgets are refreshed, everyone is back to work so hiring pipelines can roll again. Get hired in early February, on-board for a couple of weeks, really start to dig into work at the end of February and early March. You don't want to look like you don't know anything, so instead of asking your coworker sitting next to you or just a Slack DM away, you throw a question up on Stack Overflow and hope to get an answer that gets you unstuck.

GMoromisato | 16 hours ago

Ouch! They are down to ~1,300 questions per month. If we assume a user asks 1 question per year, and we assume 50 lurkers for every one who asks a question, we're at 800K monthly visitors.[1]

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.

foo12bar | 15 hours ago

The crazy thing is AI uses stackoverflow, certain parts of reddit, and other forums for a reference and without it will soon become unable to keep up with modern technology. And they are all dying.
The risk is that beyond hobbyists technology will stagnate. It’s already much more productive using one or two frameworks over the rest of what’s available, and without training data it won’t be able to advance beyond those current popular frameworks.

NikolaNovak | 18 hours ago

Beyond the slowing you to type, the key part of the good books was the considered and mindful order of presentation. This is what had me spending money when I could get the reference manual for free - 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.

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 :).

cvwright | 18 hours ago

Unfortunately even in the old days, a truly good programming book like you’re describing was depressingly rare.

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.

NikolaNovak | 17 hours ago

Agreed, Books on specific programming language were indeed tricky.

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 :)

wyclif | 17 hours ago

Apparently the guy who wrote the Camel book on Perl made less than $1000 from that book. I was shocked when I heard about that because back in the day when I was learning that book was incredibly popular and seemed to be everywhere.

EDIT: Edited, not wrote. My bad. That's a crucial distinction. Also, I meant the Llama book, not the Camel book.

sriram_malhar | 16 hours ago

That’s not true. I wrote the Panther book, Advanced Perl Programming, and easily made way more than 100k. Of the 25-30 or so dollars the books cost, I got 10% per copy, or $2 after taxes. The first print run of 35000 sold within the first three weeks.

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

smallerize | 16 hours ago

The 4th edition authors included brian d foy, who said "I think Tom [Christiansen] and I worked for about two years to produce the current edition. I certainly wouldn't want to spend that much time again to make less than $1,000... It's a huge effort from the editors and proofreaders and the book won't sell enough to make back the effort they put into it." https://www.reddit.com/r/perl/comments/1ns5r9n/comment/ngmvt...

wyclif | 16 hours ago

Yes, you're right. That is the comment I was referring to.

sriram_malhar | 15 hours ago

I wasn't aware of this.

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.

If only Amiga assembler books hit those type of numbers.

nottorp | 7 hours ago

> Unfortunately even in the old days, a truly good programming book like you’re describing was depressingly rare.

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.

skydhash | 2 hours ago

You’re better off learning foundational knowledge. Languages are notations, not intent. What has been useful for me are Computation theory, Algorithms, Concurrency, Distributed Systems, Operating Systems theory, Practical system administration, Computer Organization, Networking,…

I do get language books, but only as a reference. For anything more advance, I usually read the sources.

nottorp | 25 minutes ago

You’d think someone would write about the tricks you learn breaking your teeth on the language though.

And they do, in random forum and blog posts though.

wyclif | 17 hours ago

I've commented on this development before on HN, so I'm glad to see this post on the front page. From a few months back:

"...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."

rramadass | 13 hours ago

> the key part of the good books was the considered and mindful order of presentation.

> 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.

rramadass | 8 hours ago

Corrigendum;

> 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.

GrinningFool | 8 hours ago

"considered and mindful order of presentation" -- along these lines my favorite programming book is the Commodore 64 User's Guide, coupled with the reference. I was quite young and found the programming section very approachable. It build on itself in logical layers, and I felt like I had a companion to guide me through the process of learning and understanding. IIRC, I read it like a novel a couple-few times in the process.

https://archive.org/details/commodore-64-user-guide/

randusername | 4 hours ago

> the key part of the good books was the considered and mindful order of presentation

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.

clasplock | 18 hours ago

I've not read a programming book for years, even before LLMs came on the scene. Didn't see the need to when there's so much information online.

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.

matrix87 | 18 hours ago

This corporate messaging of "just use AI, cut as many corners as possible, only retain the essential people and force them to sling slop 7 days a week" is unsustainable.

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

RickJWagner | 18 hours ago

My career kicked into high gear some time around 2008. I saw somewhere online where a publisher was seeking a volunteer book reviewer / junior editor.

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.

nritchie | 18 hours ago

Not true for everyone. I learned Rust from The Rust Programming Language ("The Rust Book") and "Rust for Rustaceans." Sure, coming from C/C++, I could have learned the syntax online but learning best idioms and styles required the time and commitment to read a book cover-to-cover. In fact, I've probably read each page in "Rust for Rustaceans" at least twice to ensure that I understood some of the more subtle points. I could have developed a half-baked notion of how the borrow-checker worked by fooling around and reading blurbs on Stack Exchange. But Rust for Rustaceans made clear the more subtle points that might have taken years of tinkering to understand. Thank goodness people still write excellent books on computer programming.

infinet | 17 hours ago

I have a gut feeling that human as a creature learns better when looking at the information from several different angles, both physically and mentally. Been physically I mean looking at the same concept on screen and on hard copy books, perhaps taking notes and mark relevent sentences with a highlighter. Similarly, seeing a concept on physical book and write some short code snippet is viewing the concept from different mental angles. Though I don't have a proof for that and have yet to find a formal research on this topic.

onemoresoop | 17 hours ago

I learn the same way but there are different people who learn in different ways. Also some people come with some concepts already understood from past experience or education, it’s easier for to pick things up without needing various angles.

ikr678 | 16 hours ago

The pedagogy suggests that you retain more when you also have a spatial element to what you are reading - eg you recall not only what the text was but where exactly on the page you read it, and perhaps also how far through the book it was.

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.

jimmaswell | 15 hours ago

The solution explorer from Visual Studio flashes into my mind when I think about the codebases I'm most familiar with, and thinking about the code makes the code file come to mind like it's a big piece of paper and it's all represented physically in some form in my mind. I wonder if the way this happens acts like something of an exploit to get those physical textbook benefits.

dabinat | 10 hours ago

This is true: a way to remember things is to construct a “memory palace” in a place you know well, where different pieces of information correspond to different locations inside the building.

quotemstr | 16 hours ago

> I have a gut feeling that human as a creature learns better when looking at the information from several different angles

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.)

bulbar | 13 hours ago

The brain is a large network and humans learn best when an information doesn't life in isolation but can be integrated within.

arc-in-space | 10 hours ago

Absolutely. Whenever I learn a new thing I'll always approach it from different angles - sources from people with varying skill levels (it can be useful to know how another beginner dealt with something!), video form, written text, reading the theory, seeing the applications, trying it yourself in various forms, different constraints etc. For example, since we're on hn - writing some data structure or algorithm you're learning in a few different languages. Doing all this helps massively with building up to true understanding.

(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)

Andaith | 17 hours ago

I came here to say almost the same thing. I've been learning rust in my free time because I don't do enough programming at work to scratch that itch any more, and I've been using the rust book as a reference.

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!

rootnod3 | 17 hours ago

- PAIP - The Art of of the Metaobject Protocol - Modern C

Those alone are the ones I've been re-reading this year.

paip=Paradigms of AI Programming

skydhash | 17 hours ago

My method is to get some hands-on experience first with the technology: Tutorials, Getting Started pages, the first chapter of a book. The fumble for some time and getting exposed to various sources of information. Then I take a book and skim it from start to cover, stopping at interesting bits. Then I reread various parts.

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.

brightball | 17 hours ago

Getting a book is my goto to learn anything new. I taught myself PHP and ended up finding a book 4 years later when I was looking for an answer to something. On the next page was something that would have saved me tons of time so I read the whole book.

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.

arikrahman | 15 hours ago

It was my first book and introduced me to the No Starch Press aesthetic no other line has managed to replicate.

Legend2440 | 18 hours ago

This predates LLMs. The internet has been the primary source of programming knowledge for decades.

Books are still good for the fundamentals of course.

oftenwrong | 18 hours ago

I still have my copy of Learning Perl. Mostly because it represents a milestone in my learning. I have kept and obtained a number of other books simply because they are antiquated, special and/or classics that are interesting to read even if they are not that useful to me, like Codd's relational book, or Calendrical Calculations. I hope the AI is trained on these sorts of books, so that the knowledge can live on in a different way.

dangus | 18 hours ago

Disregarding the issue of AI for a moment, I don’t really think books were ever the ideal way to learn programming.

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.

This post feels misleading or possibly just nostalgic. The books referenced still exist because the people creating the technology are still writing them. They're also creating video and attending conferences (virtual or otherwise). That's not going away anytime soon. But perhaps what has changed is how the information is accessed.

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.

aboardRat4 | 18 hours ago

I printed a ton of books from libgen in the past 10 years.

Using paper just works better for me.

I do use LLMs for asking questions, and other learning tools.

musicale | 17 hours ago

I almost feel nostalgic for the bittorrent era, when piracy (or unauthorized distribution) was done the old-fashioned way!

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.)

aboardRat4 | 16 hours ago

In the age of LLMs speaking about "piracy" is absurd. LLM users are reading the same books, just algorithmically post-processed.

thaumasiotes | 9 hours ago

> I almost feel nostalgic for the bittorrent era, when piracy (or unauthorized distribution) was done the old-fashioned way!

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.

dev-ns8 | 18 hours ago

I recently purchased Computer Systems: A Programmer's Perspective [0] and am currently working through it with pen and paper.

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...

rramadass | 10 hours ago

Nice; This is the only book of which i have all three editions.

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" ;-)

tinkelenberg | 18 hours ago

Don’t worry, once LLMs poison the well enough by disincentivizing sharing content online, technical books will thrive again.

chickenimprint | 17 hours ago

LLMs are to a large degree trained on pirated books.

Lyngbakr | 18 hours ago

    > 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.

musicale | 18 hours ago

> They were thick, they cost about $50, and they had titles like “Learning React” and “HTTP: The Definitive Guide”.

The most effective way to make money from open soruce was (for a time at least) to be Tim O'Reilly, Amazon, or Google.

badc0ffee | 18 hours ago

I used to read a book or two when diving into a new language. But I think the last time I did that was in 2017 when I learned Swift. That was supplemented with a lot of Stackoverflow.

I think the next deep dive was in 2022, when I learned Go. But that was completely from online sources.

ergonaught | 18 hours ago

I've bought (and cracked open) more programming books in the past year than I had in the previous 10. I'm nobody?

dxxvi | 18 hours ago

> Nobody cracks open a programming book anymore Not true for me. I still read the "Learning Rust in a month of lunches" although I ask AI to write Rust code all the times.

EFLKumo | 17 hours ago

> The kid who is right now learning to code by chatting with an agent is not a worse programmer than I was at 12, hunched over Learning Perl, retyping examples that would not run because I missed a semicolon.

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.

mikewarot | 17 hours ago

It used to be that you could buy a book and use it as a reference for years. That stopped being true sometime in the 1990s, as the half life of book value declined rapidly.

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.

atmavatar | 17 hours ago

It depends on what kind of reference book you get.

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.

skydhash | 17 hours ago

You can still do it too, but you need to see through the fad and not go for the shiniest technology out there. I've been reading "The Design and Implementation of the 4.4BSD Operating System" because it's basically the best explanation about OpenBSD as it (and NetBSD) still follow the same general architecture.

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.

smelendez | 13 hours ago

Sometimes I'll be in a large used bookstore, like the kind of cavernous ones you find in places with cheap real estate, or at a charity sale and there will be a book with a title like "Learning J2SE 1.4" or "XHTML for Dummies" that is just utterly and completely useless.

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.

h4kunamata | 17 hours ago

Nobody code anymore!!

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.

shirro | 17 hours ago

It doesn't matter so much if the LLMs are better or worse for learning things. I tend to think much worse in the long term. The problem is the reduction in choice. Soon we won't have web search. No user generated content. No genuine personal interaction. No blogs. No personal computer industry. No tech book publishers. Its all going to be LLM generated content owned by a small group of people. It sucks. I am in the opt out group wondering what exactly will be left to opt out into.

bluefirebrand | 17 hours ago

Hey if it means anything there's other people here in the opt out group with you

Maybe we can build something else in parallel for the other opt-outers

boothby | 17 hours ago

There's a wide world outside of tech jobs. Most of it isn't immensely lucrative, but I hear it can be quite fulfilling

epgui | 17 hours ago

The “higher level of abstraction” phrase used to describe what LLMs are in relation to programming… That phrase needs to die.

mrleinad | 17 hours ago

"there are coffee stains where the caffeine blots are somehow still a valid Perl program"

Having coded Perl for years, I take that personally, pal...

buglungtung | 17 hours ago

I use AI to summarize a book because I need to use it asap for my professional works. But I do reading because I enjoy learning process, the knowledge is a bonus, not the goal

__mharrison__ | 17 hours ago

The problem is knowledge gaps. You don't know what you don't know.

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.)

baron1405 | 17 hours ago

I type this comment flanked by my shelves of computer books. Most I keep for sentimental or historical value. My first edition K&R, the first PostScript Red Book, the volumes of The Art of Computer Programming, and many animal books. In addition to what the author said, what saddens me is that most developers today will not have these milestones of their growth as a software engineer to look back upon. Our history is literally evaporating into the cloud.

SilentM68 | 16 hours ago

I do, actually. Trying to find good material to read for Odin programming language. Most books, are just hard to follow, not newbie-friendly, always gushing with bloat, with things that make the book fatter, making it easier to up the price. Student's usually end up paying the price :(

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?

NetMageSCW | 4 hours ago

Off-topic: There is no remedy. What law is being broken?

elzbardico | 16 hours ago

I do it a lot, now with the time saved by coding agents, I do it even more.

system7rocks | 16 hours ago

I love these books. I would like to own every single one of them, as crystallizations of a moment. But let's be real -- some of these books are trash.

ai_fry_ur_brain | 16 hours ago

Llm learning fosters mediocrity

daft_pink | 16 hours ago

I do feel that programming is more accessible than ever though.
My two favorite non-fiction sections of the bookstore are dead and dying. The computer section, if it still exists, is just things like _Excel for Dummies_, and the philosophy books have all been pushed out by self help and dime-store "metaphysics".

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.

quotemstr | 16 hours ago

There are books about languages, and then there are books about timeless truths. The former? Toilet paper. The latter? Treasures. Worth reading:

- 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.

rramadass | 9 hours ago

> 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.

> 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.

thaumasiotes | 9 hours ago

> It's shocking how many of these seminal books are available for free and how few people read them.

> 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?

softgrow | 16 hours ago

I had a taste of OReilly books through ACM/IEEE. A few years pass and I'm working on some obscure legacy code and a book saved me. Needed it in a hurry so signed up for OReilly books for a year even though only needed it for four weeks. I have renewed it since and enjoy it, being able to dip into topics, just for fun, written by people telling a story. The long form of a book is quite different from SO and new books keep coming out. I'm hooked.

casey2 | 15 hours ago

Books are more of a unix thing no? I know microsoft had is kernel series but most people used MSDN CDs.

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.

arikrahman | 15 hours ago

The most transformative book for me has been SICP and Uncle Bob's work.

Animats | 15 hours ago

The decline of programming books removed a constraint on programming language complexity. At one point, the basic set of books for Java was six volumes. That's when language books broke down from sheer complexity. The combination of Google search and Stack Overflow allowed programming to become more complex than anyone could keep in their head. C++ bloated to the point that people who used to be C++ language lawyers couldn't keep up.

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.

teeray | 15 hours ago

> There will be businesses no human can comprehend or manage. This may not be productive but will be profitable for someone.

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.

hibikir | 14 hours ago

When we go back to early Java, the death of books just came from better IDEs, not even stack overflow (which wasn't there) or Google search (which had little to find). Something like IntelliJ made the very large reference section irrelevant, as you got to see source and Javadocs right there. Intellisense also found most of what you needed blindly. That was 90% of those 6 java books. You'd still see a need for specifics good explanations like, say, Java concurrency in practice for all the original low level primitives. Maybe some madman that could explain the initial implementation of the Calendar classes.

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.

> Maybe some madman that could explain the initial implementation of the Calendar classes.

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.

> 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.

C++ isn't a language, it's a script. Like Latin, it can be used to express English, Polish and Indonesian.

klausa | 10 hours ago

Latin can't be used to express Polish; at least not without extra letters, at which point I think it ceases to be "just" Latin script?

But maybe that was also your point.

IsTom | 8 hours ago

> at which point I think it ceases to be "just" Latin script?

I draw my line at 'U'.

tardedmeme | 6 hours ago

When the testing is over, 'U' will be... missed.

mejutoco | 7 hours ago

I like this metaphor.

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.

anthk | 6 hours ago

Spanish: 'ny' as a digraph. Accented vowels (stress marks) and ü -> 'a 'e 'i 'o 'u and maybe :u.

dmantis | 11 hours ago

> There will be businesses no human can comprehend or manage.

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.

jrowen | 11 hours ago

Check and mate, capitalists!

pjmlp | 11 hours ago

I was certainly fine doing Java with one book + Javadoc.

Java Unleashed, first edition 1996.

geraneum | 11 hours ago

I sometimes wonder if we’re losing HN for good.

benterix | 10 hours ago

> There will be businesses no human can comprehend or manage.

I believe we're getting close to that in pure math.

musebox35 | 9 hours ago

I think the complexity issue in science and engineering has also been growing for some time beyond what can be analyzed/designed by a person or a group with conventional software and math. Wolfram argues that some processes are so complex, only a computational method can solve them. If that is the case, AI might be the only path to help us in designing and discovering novel tech / science. It might be the bicycle for the mind that Jobs envisioned.

lukeasrodgers | 6 hours ago

Do you happen to have any links to more info about this schedule system. If I Google “sears schedule system” I get a bunch of results about vaccines, and if I append “logistics” the top result is your comment.

atribecalledqst | 5 hours ago

I still find myself hoping (probably futilely) that Bjarne Stroustrop will come out with a new edition of The C++ Programming Language, to help me understand all the features that have been added to it since C++14...

smitty1e | 15 hours ago

I still maintain an O'Reilly.com subscription, because it's good to read aan edited book on a topic, and the Google search has just gone to seed.

jimmaswell | 15 hours ago

I tried to introduce a partner to programming with an introductory Python book one year ago. It was brand new on the shelf in the impulse purchase area at Micro Center. It looked nice on the outside and decently vetted at a glance of the intro and a page or two, I trusted Micro Center (undeserved in retrospect), and I was in a bit of a rush. I gave it to my partner to try out on their own and they started having trouble pretty quick, and it wasn't really their fault - it was using a lot of technical terms and concepts with no explanation that you wouldn't expect someone to know who hasn't taken a few Computer Science classes.

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.

isityettime | 13 hours ago

I did something similar with my partner, though I didn't look at a shelf in a physical store. We ended up going with How to Design Programs. There were some small terminological things that I helped clarify. (I can't remember what they were.) But overall, I was blown away by how much she was able to just pick it up and run with it. She used just the book and a little bit of help from very cheap and basic LLMs (not for writing code, just for answering questions) did really well, until life got too busy for her to put more time in.

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.

tjwebbnorfolk | 15 hours ago

I convinced my mom to buy me a book on C++ when I was 13 (25+ years ago). I made it to page ~75 or so before I got bored of reading, and needed to start building stuff to stay interested. I don't think I ever looked at it or any other language book again after that.

martheen | 14 hours ago

That's also how one of my first book that's focused on the language (instead of those focusing on how and what to do to build the cool stuff) feels like. Just pages of things that would've probably keep a language lawyer giddy but my blue-collar brain skip to sleep.

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.

jonbodner | 15 hours ago

I'm the author of O'Reilly's "Learning Go". Here are the last 13 months of paperback book sales:

- 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).

guywithahat | 15 hours ago

I appreciate your response, it's great seeing real data and getting to form opinions on it this way.

KnuthIsGod | 14 hours ago

Thank you for your excellent book.

Your book is highly recommended in the Go community.

I will definitely be reading it once I finish "The Go programming language".

arm32 | 13 hours ago

How do you feel about these LLMs potential piracy of your book?

jonbodner | 4 hours ago

It’s not potential, it’s actual. There are court cases and settlements and everything. I’ll be getting a little money from Anthropic.

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.

runjake | 12 hours ago

2 of May 2026 is me! Learning Go is such a great book.

eager_learner | 7 hours ago

what's so good about it? I bought it as well, but I have yet to start it (I'm stuck in some other books for now).

keyle | 12 hours ago

It's also relative to the employment numbers.

Companies are shrinking body counts, so you have less buyers of programming books.

Dban1 | 12 hours ago

hi Jon!

sevenzero | 11 hours ago

>which have indexed all of the books and used pirated copies to do so

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.

gchamonlive | 8 hours ago

I have a different impression, that the folks here are divided in this issue, with a half being AI maximalists saying it's a necessary evil while the other half condemning such practices, maybe not as much as to protect copyright per se, but because there are two different measures here. While teenagers get ridiculous fines for sharing MP3, big corp gets the free pass for stealing data on a industrial scale.

sevenzero | 8 hours ago

If AI was public domain and free for everyone, I would have less issues with it (not saying no issues). But yeah, the only people actually benefiting from this are big tech corps who actively destroy society since over a decade now.

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.

dspillett | 7 hours ago

> because of economic pressures

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.

gchamonlive | 6 hours ago

> 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.

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.

satvikpendem | 3 hours ago

And another half being copyright abolitionists like me who don't care about AI at all but see copyright as essentially a societal fiction that even if it was useful in the past is now no longer, or rather, only useful to big corporations to throw their weight around like Disney who lobbied the government to implement their infamous Mickey Mouse laws with ridiculous copyright term limits.

gchamonlive | 3 hours ago

I didn't want to go into this topic, but in right here with you, I'm an information access anarchist.

graemep | 2 hours ago

I agree with you to an extent, but I think that when people profit from a work (e.g. by using it to train a proprietary AI that they charge people to use) they should share the profit with the author of the work.

So I think Anna's Aarchive is fine. OpenAI is not.

satvikpendem | an hour ago

That's why I believe in open weight or even open source AI models. If you're gonna train you might as well democratize access to everyone, not the faux "democratization" that OpenAI and Anthropic talk about where only they control access.

dspillett | 7 hours ago

> > which have indexed all of the books and used pirated copies to do so

> 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.

sevenzero | 7 hours ago

>That is far from true - opinion is quite divided

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.

dspillett | an hour ago

> That might be true if you look further into it.

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.

olmo23 | 6 hours ago

> Funnily enough, people on HN often do not consider this an issue, like at all...

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.

isityettime | 6 hours ago

Aaron Swartz never did whatever it was he was going to do. He was caught and hounded to death before that.

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.

ocschwar | 3 hours ago

The strange thing is he picked a fight with a store of humanities papers rather than scientific ones.

graemep | 2 hours ago

A lot of what they have done is the reverse. They have used a lot of such publicly funded information (and a lot of other freely available information) to train LLMs that are proprietary.

chung8123 | 5 hours ago

A few years ago (before LLMs were as good as they are today) I wanted an LLM to do a RAG like memory on all the books I own. My dream was that every book I purchased would go into my LLM making it better but also giving me a reference back to the text to look up and help me get better.

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.

TacticalCoder | 4 hours ago

> I wonder how they'd think about it if they had created something (meaningful) that was subjected to this.

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.

satvikpendem | an hour ago

I'd rather not have copyright at all, as I said in another comment it's not useful anymore. Information should instead just be free for everyone.

kaffekaka | 9 hours ago

Your book was my path to Go. Thank you! Having a physical book means much to me.
Yours is a good book (got both editions myself), but sadly language learning books will be hit the hardest by AI. Partly it’s what you said regarding copyright washing, but the other big reason is that people will code less; I am writing little to no golang and am prompting it instead. The book is still useful to me, since I want to continue to understand what’s happening, review code, etc, however I expect that my kind of software engineer will be in the minority in the future.

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.

jamiecurle | 9 hours ago

I cancelled my O'Reilly subscription because it's cheaper for me to buy the books from the publisher. I go through one book every few months. I thought I'd go through more with unlimited access but I didn't. $539.88 a year vs maybe $140-$200 I spend on books (I take advantage of discount codes when they come up).

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.

rustyhancock | 6 hours ago

I'm similar, I think perhaps it's a generational thing which slightly modified the title in a pedantic way.

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.

whimblepop | 4 hours ago

> 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 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.

graemep | 2 hours ago

Surely people still use textbooks for formal education? This has to be something that happens later.

chris_money202 | 8 hours ago

Might also be because of Anna’s Archives

nticompass | 6 hours ago

This has nothing to do with the article posted or anything, I was just curious... who gets to pick the animal on the book cover? Do you (the author) get to pick, or does the publisher (O'Reilly) pick?

rob74 | 5 hours ago

Do you mean the animal in general, or what specific image? For Go specifically, it would be very surprising if it was not a gopher! Ok, Python is obviously even more closely associated with the snake, but a gopher has been the Go mascot from the very beginning (the original design being drawn by the wife of one of the language's co-creators)...

nticompass | 5 hours ago

I meant in general.

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.

jonbodner | 4 hours ago

For Go it had to be a Gopher (as it is the mascot for the language). My editor showed me the artwork and I approved it.

pixel_popping | 5 hours ago

Just want to say this is quite informative and helpful, thank you for the transparency.

joseda-hg | 5 hours ago

This is not a jab at you (or your book), But I always assumed O'Reilly's per book sales would be significantly larger, like 4 figures at the minimum

jonbodner | 4 hours ago

Yeah. I don’t think people are aware of how few books are purchased. At this moment, Learning Go is 45,855 on Amazon US across all physical books. This is in the top few percent of book sales. The number tends to bounce between the 50,000s and the 30,000s, but sometimes slips higher or lower. One or two sales in a week moves a book quite a bit.

mrbonner | 4 hours ago

I bought 3 programming books last month including this one. I really enjoy “Learning Go” over the official go book.

guywithahat | 15 hours ago

I bought a book on C++20 last year when we started a project on it and I read it.

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.

semiinfinitely | 14 hours ago

did they ever?

weare138 | 14 hours ago

People still use programming books, they just don't purchase new retail books as often. Books have become magnitudes cheaper for publishers to produce but the books didn't get cheaper for consumers. I went to O'Reilly's site, clicked on the first book that popped up and it costs $67.99 for a digitally printed paperback book:

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.

kartoshechka | 14 hours ago

imo books for programming language should be roughly a guide to docs, with better context collocation and more elaborate examples, otherwise it would be really painful to use language

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

jacobsenscott | 14 hours ago

Reading a well written programming book will put you ahead of 99% of other programmers using that language. Most programmers learn some subset of a language to get things working, and never learn more than that.

JSR_FDED | 13 hours ago

With a programming book, you invested time to thoroughly learn something new. The language/tool and its associated way of thinking were now part of your toolbox. You were simply a better programmer going forward.

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.

knivets | 13 hours ago

Stack Overflow provides marginal value when there are LLMs. Great technical books on the other hand still provide tremendous value and complement LLMs in a learning process: a book provides a fact checked, curated set of topics with clear start and finish (a structure) and LLMs help with any blockers or missing context that readers will encounter.

medwards666 | 13 hours ago

Love the closeout of the article: "On page 112 there are coffee stains where the caffeine blots are somehow still a valid Perl program."

DocTomoe | 13 hours ago

I had a whole zoo of - physical - O'Reilly books back in the day. I still own a few today, but they tend to be less language-specific and more 'best practices'-oriented (Hello, 'Bad Data Handbook').

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.

submeta | 13 hours ago

The author is blaming llms alone. And is not even mentioning sites where you can download any and every book you wish. That might have led to decreasing sales as well.

adityaathalye | 12 hours ago

Funny, I think a dead-tree book (or PDF you won't copy from) is a great format to learn programming from. Retyping things into the editor is underrated, as a form of engaging more viscerally with the material (brains work better when they get to play with the clay), as a way to build muscle memory for the language, as a way to absorb idioms by osmosis, and so forth.

Different brains, different strokes, but I think the book format is not wrong, the teaching and learning expectations are.

blu3h4t | 12 hours ago

Ive bought 100 or already more programming books in the last 10 years. Ofc I didn’t read all of them, maybe like half read half of them.

azhenley | 12 hours ago

Good thing I’m actively writing a programming book!

(Reading HN to procrastinate.)

locusofself | 12 hours ago

This might be an unpopular thing to do, but lately I've been literally having claude/chatgpt write books for my personal consumption: things to brush up interview skills, python, system design, and even agentic coding. I've also had it aggregate substack posts for me, etc.

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.

kelnos | 11 hours ago

How are you sure that it hasn't hallucinated content that you end up relying on?

fithisux | 12 hours ago

Amazon taxes books through shipping. It is a plan.

keyle | 12 hours ago

The main issue I have is by the time I got my brick delivered from Amazon about SwiftUI 3rd edition, the 4th edition was out. It's a door stopper now.

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.

err4nt | 12 hours ago

Personally, I've cracked very few programming books and I've been building websites since ~2004 back when magazines and books were the best sources for information. Some people learn skills from books well, and some people end up bewildered and confused until they can actually try it out and see how it works. I need to explore to discover and learn.

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.

cosmojg | 12 hours ago

They still come in real handy when you're stuck hacking away in a windowless SCIF.

kelnos | 12 hours ago

I don't think it's fair to blame this on LLMs. The last time I bought or even looked at a book of this type was easily 20 years ago.

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.

EbNar | 11 hours ago

Ironically, I just ordered a hardcopy of "Python Crash Course". I want to learn it for personal use and prefer to have the book at hand, rather than in PDF/electronic format. And no, I'm not letting AI or LLMs do the job for me: I prefer (rally: need) my brain to stay active.

kwstas_el | 11 hours ago

I believe it really depends on the programming book. For introductory topics (Learning Python, HTTP Basics) one is better off with sources from Google or GPT generated since they are much simpler, faster to access and high quality sources out there. But for more low level topics, books like "Designing Data Intensive Applications" are still the first option for most people; you can't easily find corresponding material online that provides the same level of depth, structure, and context.

DeathArrow | 11 hours ago

They don't make them like they used to! /s

dmantis | 11 hours ago

I don't feel that LLMs are replacing books for professionals.

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.

pdntspa | 11 hours ago

You can ask them for high-level overviews of a given topic, and then drill down into individual sections of its response. With the most recent iterations, many of the times I have blindly stumbled into something new, it has pushed back with warnings

ramon156 | 11 hours ago

I would argue in the case of Rust that the digital book is much better than the physical one, I mostly bought it to put it on my shelf.

Maybe someone disagrees, I'm open to hearing what the book has taught you that the digital docs/book didn't.

stack_framer | 11 hours ago

I'm reading The C Programming Language, 2nd edition (the K&R book), and working through all the exercises.

It's a great book, although it's forcing me to admit that I need glasses (the print is so small)!

vmilner | 10 hours ago

I enjoyed reading Expert C Programming: Deep C Secrets by Peter van der Linden after reading that in the early 90s. Also the C standard from the time and the attached 'Rationale' document https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub160.pdf (The rationale is 234 pages in). Also this 1995 book version of the comp.lang.c FAQ https://c-faq.com/book/ and https://c-faq.com/
i have the full version of that book, Learning the vi and Vim Editors... i still read it!

damethos | 11 hours ago

I still read programming books, especially if I want to check out a new language and get the gist of its capabilities and how are things are done in that specific environment. Also I prefer to read a book written by an author that I know has the experience and the insight to actually write the book than read random sources on the internet. Or maybe I am just used to it.

leejo | 10 hours ago

@cylo (I think the author) - get in touch, I'd like to use this essay as part of a photo book project. With your permission of course.
Yes. Reached out via email.

harrouet | 10 hours ago

I do buy programming books!

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.

amelius | 9 hours ago

But nowadays you can read books, and ask AI to help you read them.

I'm curious if someone built a proper interface for that usecase.

benterix | 10 hours ago

> You can’t imagine writing software without Claude Code anymore.

I know it's a hyperbole but repeat a lie often enough...

oersted | 10 hours ago

I do not think they are too valuable anymore as references you keep coming back to, that use-case has been long superseded by the internet, well before AI. But for a novice learning programming, I still believe that there's absolutely no substitute to reading a book from cover to cover.

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.

kleiba2 | 10 hours ago

I once bought a programming book in the 1990s. Since then, I never found the need for it anymore: you could simply find all the resources you needed online (and long before ChatGPT).

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.

Kinrany | 10 hours ago

Books make the most sense as a guide, not a tutorial or a reference

porknbeans00 | 10 hours ago

that's not true

stevep98 | 10 hours ago

This seems like a good opportunity to share my recent photos from a bookstore in Tokyo… just a crazy number of computer books. Mostly in Japanese language.

https://imgur.com/a/Kygj5IM

Many of those are not programming books, but they do seem to be recently published, I wish my Japanese was better.

mnky9800n | 10 hours ago

I always thought it would be fun to write an o’Reilly book. The format seems like a fun way to organise information on learning about a topic.

hereticles | 10 hours ago

If nobody cracks open a programming book, then I must be nobody - I read books all the time - both hardcopies and digital. They're my bedtime reading

amelius | 9 hours ago

I also notice nobody talks about big-O performance bounds anymore.

rldjbpin | 8 hours ago

haven't done it physically in a long time, but surely virtually.

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.

pmontra | 8 hours ago

I never bought a programming book in all of my professional career, since the 90s. The only ones I did buy were the K&R C book and the Pascal book at university. They were mandatory readings and basically the only way to learn those languages. Perl? Man pages and online. Tcl? Same thing. When I started working, my company had the whole series of the X11 books (my university too) and we had the Java books. We did use them but Javadocs on the web started to be faster to use than books. Then every reference on the web has been more up to date than any book. Javascript, Ruby, Python, PHP, Elixir, Erlang all of them online. I'm sure that I'm forgetting a bunch of other languages. Blogs are about as good as books about patterns, ideas, best practices etc. I just didn't see the point of buying paper when I could read the same things on a screen for free.

Intermernet | 8 hours ago

I regularly take my copy of one of the volumes of Knuth's TAOCP off the shelf.

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.

refactor_master | 8 hours ago

I've found programming books good at what the internet isn't always: a cohesive story/presentation meant for a broad audience. I've enjoyed reading some more style-oriented books, largely ignoring beyond the gist. Learning about dependency injection and decoupled architecture, but for Python, completely changed how I viewed the language.

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.

ionwake | 7 hours ago

Great quote: "...the things they will build with that abstraction will surprise me."

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.

eager_learner | 7 hours ago

what a beautifully written essay!

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.

I mean, it's not just programming books. Books and magazines for a lot of specialist fields are on the way out, since the internet is just a more convenient option.

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.

nticompass | 6 hours ago

I have a small collection of programming/technology books, some from O'Reilly, others from Manning and No Starch Press. I've read them and they have been very helpful, but I will admit that I been buying less books. They take up space, and my shelves are full of these and other books like novels and manga.

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.

QuantumNoodle | 5 hours ago

> Stack Overflow is receiving about 3,800 questions a month, which is what it was getting in 2008, before it had finished being launched.

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.

atribecalledqst | 5 hours ago

I've cracked into quite a few programming books over the years and it's pretty crazy how much of an advantage it's given me. I'm a lowly systems engineer, not even a real programmer, but I definitely understand networking better than the majority of programmers at my company because I read Stevens' TCP/IP Illustrated 10 years back. (and I read the OLD version from the 90s that was already dated when I read it!) And then I read UNIX Network Programming to help understand all the different sockets APIs and that's paid dividends too, because I get our network programming code better than most of my coworkers too.

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)

DanielHB | 5 hours ago

Why is everyone so focused on programming language specific books? Even when I was in uni before stack overflow I did not find them that useful. All reference docs were already online.

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.

physicsguy | 4 hours ago

I think this is an age thing but I think young people getting into programming are dramatically underserved by not doing this. I think Claude/ChatGPT are great at getting answer to a specific question or set of questions and even going quite deep on it, but they don't offer the clarity of the human 'big picture' and 'right order for introducing these concepts' view on a topic, at least not yet.

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

Toluhis | 4 hours ago

I like books because of their holistic approach and I am saving this as I am seeing some good recommendations.

skissane | 3 hours ago

My dad asked what to get our 13 year old as a birthday present. So I asked him, and he said Jon Duckett’s JavaScript and JQuery book - which he realises is a bit dated by now (2014), but he wanted it anyway (in part because he already has the other two books in the series), so that’s what he’s got.

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

zellyn | 2 hours ago

It's not just AI.

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?

schlap | 2 hours ago

This is just because there are more avenues to learn the same thing

schlauerfox | 2 hours ago

I very much miss OPAMP techincal books in Los Angeles, and later the Fry's technical books section. Barnes and Noble and my local library still carry some. There's just nothing that gives you that random access to the unknown unknowns like a bookshelf. Using an AI to give you suggestions can come close, but as they're now switching to ad placement pushing product instead of really pulling from a mega training pool it will become useless.

shepherdjerred | an hour ago

I’ve felt kinda sad that I haven’t read a programming book recently. I think part of the reason is there is higher ROI (and enjoyment) in playing around with LLMs/agents.

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.

IAmGraydon | 9 minutes ago

I've recently read multiple texts on C++. I support using LLMs for certain coding tasks, but I want to know how to do it by hand first and to fully understand what the LLM is trying to do.