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.
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.
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.
Textbook designers know this and use images, callout boxes and case studies 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.
Ever write a piece of code, pore over each line, test the hell out of it, and only when you actually submit the PR and see the diff rendered in your review tool that you spot some totally bone-headed thing you've done?
Viewing a familiar concept in a new context gives you new insights with surprising frequency. Context shifts the priors in the mind. That's why, yes, combining reference/LLMs/tutorials and comprehesive pedagogic tours on rails gives you the best perspective on a new domain.
(BTW: it's due to this effect that company offsites and retreats are good investments, not wastes of money.)
Since then I’ve read books on Ruby, Go, Elixir, Docker, K8s and a lot more. By far the best way to get a semi complete understanding of anything without scraping together data from the internet yourself, because you won’t easily know the gaps.
Those alone are the ones I've been re-reading this year.
Thanks for the rec for "rust for rustaceans" I'll have a look into it.
I've only been using chatgpt for points where i'd normally go ask another dev for another set of eyes to debug something, otherwise all my learning and doing has been mostly the rust book, crates, and blogs about rust, ecs, roguelikes etc etc. It's been so fun!
Sometimes I start with reading the books. But I already known I won't retain anything deeply. But it will gives me all the right keywords to learn more about the technology.
It always amaze me when I see fellow programmers struggle with problems that could have been solved easily by just reading that introductory book on the subject.
I love the tutoring of LLM, but to this day as a complement to a guided book. I don't find such guided books in computer science much anymore sadly, but for now I still do it in other venues - French, Biology Astrophysics and such. I grab a book, and then use LLM to supplement my reading as my mind always has a myriad questions :).
Not entirely sure why computer science is so radically different - maybe because things change and get obsolete too fast? At any rate, cuddling with a book is still my favourite way to learn a new topic, much as I spend 12 hrs a day eagerly typing and staring at the screen as well :).
Younger me really enjoyed some of the game programming books by Andre Lamothe.
Most “Learn Language X” books were terrible with over focus on syntax and very little thought into organization.
EDIT: Edited, not wrote. My bad. That's a crucial distinction. Also, I meant the Llama book, not the Camel book.
The Camel book was already a huge bestseller, and was one of the anchor books of the early OReilly series. It made Larry a pretty penny
The first edition came out in 1991. The 4th ed came out in 2012, by which time Perl was no longer the duct tape of the internet. Perl 6 had muddied the waters, and Ruby and Rails had peaked.
Still, 1000 is painfully low, esp. for a high quality product.
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 :)
"...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."
The crazy thing is that SO is dying so quickly that it's already under half that amount.
https://data.stackexchange.com/stackoverflow/query/1926661#g...
Any question asked would be edited beyond recognition (and usually into brash rudeness). Half the answers were demanding ever increasing proof of work, and the other half told the OP that they shouldn't even be trying to do what they're doing. The only useful thing were opinion based posts from people with domain expertise, and SO kept trying to ban and remove those. It was the least helpful place online, but the most accessible, and it survived for lack of alternatives.
I'm no AI booster, but answering simple questions about well understood topics is a perfect fit for it. Good riddance to StackOverflow.
I liked Joel on Software, I liked Coding Horror, and I liked the idea that two internet guys could just identify a problem like that, start a company and fix it.
There was a Goldilocks period of several years where contributing answers was fun. I joined in 2010 and was most active until about 2016. It felt good to help people and since it was in the open, it felt like a resume booster as well, like having an active GitHub profile.
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.
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.
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.
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.
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.
It may not have aged well but to say it was always crap is rewriting history.
That is tragically low!
[1] 1300 x 12 x 51 = ~800K. x12 because every month, 1 user out of twelve asks a question, and x51 because there are 50 lurkers for each poster. I'm sure my assumptions are questionable, and curious about corrections, but we're still at very low numbers.
It never ends well for the new owner. Not just Stack Overflow but also Tumblr, Vine, MySpace, Twitter, and more. Instagram might be the only exception.
Good job on the founders for selling at the peak though.
It’s always more complex than you think
I've seen people type questions in to the LLM and get the answer they asked for but not the one they needed/wanted because they didn't have the correct terminology.
Surely the desired state isn't that nobody knows how to write code any more right?
> Surely the desired state isn't that nobody knows how to write code any more right?
Shaping up like that in my org. At least one mid-career dev says he no longer looks at code.I still look at code and find that agents work best when I write the foundation and then vibe on top of my hand-written code. Works extremely well because agent picks up my style accurately.
1) submitted changes that don't need any more revision than their previous human-written ones when it comes to code review?
2) no increase in bug incidents
3) no slow-down in peer work or future work caused by humans-or-agents having to fight increasingly overly-complicated, poorly-factored, copypasta-style code or god methods? (this might not be evident yet)
(Another question is how well is this person doing their job as a reviewer, making sure to keep the product quality bar high, without looking at code?)
Anyone in an org with coworkers no longer writing code needs to be making sure their managers have a pulse on the long-term health of the product to see who's doing it well (lots of test coverage, shipping only super-high-quality, refined-from-multiple angles stuff) or just being lazy (shipping first drafts that continually add debt to various files and methods).
It's generally and simply an encoding of what amounts to binary machine code which you translate via assembly code acting as a deterministic compiler from assembly to machine code if you are doing it manually.
LLMs aren't a deterministic process and human languages aren't as clear as machine code and assembly.
Besides. You're not asking <AGENT OF THE WEEK> to produce punch cards to jam into the PDP.
What would you do if the wizard gets stuck? Coarse the wizard into making the black box work through somebody else's direct perspective on the problem?
It's more like a restaurant. You give an order and a little while later, a finished dish appears.
The difference between a Chipotle and a Michelin starred establishment is that Chipotle is just assembling a mass produced good. A Michelin chef knows their ingredients inside and out; knows the science of how those ingredients work; knows varied techniques to extract flavors, create textures, etc.
Anyone can work in a Chipotle; few can achieve a Michelin star.
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.
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.
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.
> 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.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.
Reading a small paragraph and then immediately putting it in to action made everything clear far better than books did.
It also shows up in other areas like language learning where some people prefer classes and grammar books, and others prefer to just learn via exposure to a lot of content.
There would be some things books can provide that are probably better than other options, but for a lot of hands on skills it seems best to learn in a hands on way.
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.
Books are still good for the fundamentals of course.
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.
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.)
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.
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.
Maybe we can build something else in parallel for the other opt-outers
One persistent internet and Altavista became available it was just a matter of time, and now we're there. The whole move fast and break things culture won.
Like Chesterton's fence, you don't know what you're got until it's gone.
A reference book on a particular language is going to have a pretty short useful lifetime, since any language of significant popularity will evolve relatively quickly.
In contrast, a reference book on general programming knowledge (e.g., design patterns) could very well last a lifetime.
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.
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...
Using paper just works better for me.
I do use LLMs for asking questions, and other learning tools.
Though it's a shame that current copyright law is incompatible with building an effective digital library that isn't crippled with restrictions designed to impose the limitations of paper books (or worse) onto ebooks (while removing benefits such as first-sale doctrine.)
I think the next deep dive was in 2022, when I learned Go. But that was completely from online sources.
The most effective way to make money from open soruce was (for a time at least) to be Tim O'Reilly, Amazon, or Google.
Having coded Perl for years, I take that personally, pal...
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
Sol,
Off-Topic: If I suspect that somebody in a company, or message board is tampering with a user's account, when they are not supposed to, say by blocking their ability to login, would legal action against the company in question be justified on the part of the user?
It’s so obviously better to learn programming in a web based medium. Not just for tutorials or code-running environments, but also for having up-to-date manuals and references for tooling as new releases come out.
Or, if you don’t like that, e-books are again vastly superior with the ability to search easily without flipping through indexes, copy/select text, etc.
Books become out of date so fast, and you live in a hell of manual transcription, which is not actually that helpful for learning despite being highly manual. I also remember dealing with typos and mistakes that were hard to fix as a new learner. Let’s hope someone sent a letter to the author and that the book sold well enough to get a second edition, which I’d then have to buy…but by then it was too late, I’d have moved on.
There was a huge bookshelf because there was no better option. Just like Blockbuster video, something far better came around.
I volunteered, did the best job I could, and posted an honest review via blog. I got more review requests, and a few other publishers contacted me for the same.
I didn’t really master much, because I didn’t put hands on keyboard for a lot of it. But I got a good view of the technical landscape, and I accumulated a nice paperback library.
Before too long, the free books became free ebooks and some of my contacts needed renewing as natural career progression took place. I let my ‘hobby’ die off as I dug deeper in the topics that interested me.
So that era passed. I still have several books with my name in the credits, sort of a souvenir set from the time.
Probably for the best that books are going away, kids these days tend to turn them into their entire personality and keep alive bad ideas far longer then they have any right to exist.
I agree with the article good code lives on screens, it should be self documenting. If it can't be self-documenting then a tool is the next best thing, then docs, books, If a person has to explain to another person what going on something is very wrong. I also agree that "teaching modes" on chatbots need to be far stricter, I've seen some research in this direction. But it's also on the community to create a software cannon that isn't controlled by some megacorp so your dedication is yours.
- 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.
Many parts of the world still rely on horse and cart today, even modern societies.
Unless you live in a place with dirt roads, or really love horses, I think a beater Toyota would win in terms of time and cost.