I don't read programming books any more because they are mostly shit or expensive or expensive and shit. The hit rate of finding a good one is so low it's easier to just fudge your way around a problem using some idiom you're already experienced with.
Just ambling around the book store earlier I saw a 3 inch think tome around Go programming called Pro Go or something. I opened it and it was a whole book of instructional copy and paste recipes that span 10 pages for a simple problem. Urgh. This is the status quo now and it has been for a long time. I walked out with a book on pure mathematics instead - probably more useful in the long run...
I have something against them. It's often apparent that many of them are professional programming book authors that are learning the language as they are writing the book instead of being professional programmers with some skills in the language that are writing a book. I don't want to learn along with another unskilled person, I want to learn from someone that has enough familiarity to not use features incorrectly and to mention potential hangups. Hell a lot of these books read like they are written by someone that is new to programming altogether, not just someone that is relatively new to the language.
Programming books are definitely becoming more hit or miss, as the volume of books has increased dramatically in the last 10-15 years. There are still great books, but there are a lot more bad ones out there. There's a lot more software out there, and a lot more people learning about it.
I had a horrible experience with Packt. I had subscribed andwas in the middle of reading a book. The book suddenly became unavailable, so I created a ticket. They threw a few tokens at me, and asked if they could just close the ticket, even though there was no mention of whether the book was going to be available again.
Then weeks later they signed me up for six(!) separate mailing lists without asking me, one for each tag I had flagged as interested.
> I recall a few years back, Packt et al would publish like "Modern React" or something, with examples that wouldn't build by the time the book was out.
This says more about React than it does about the publisher.
It's funny because at the end of the day it's still all just instructions on a CPU. Computers essentially haven't changed in half a century. What the biggest change between then and now? Multi-core processors?
I'd say the computer architecture can vary _greatly_ and there are a bunch of cores in modern SOC's that kind of break the assumption of how a computer works. I recently listened to this:
Cache coherence, accelerators, various takes on pipelining, ISA extensions. There are many many things that change all the time.
Not even touching the SW glue stuff that changes. I don't know the history of react and what is going on in modern browsers, but I suspect there are OS constraints, evolving web standards, extra capabilities, evolving browsers that shape and force the framework to adapt. I am doubtful people change it just for the sake of it.
We are talking about programming computers. What the CPU does once it gets instructions is mostly irrelevant to the programmer. The act of programming is still just building big lists of instructions to feed to a CPU so why has the programming stack grown to such a massive precarious bloated pile of abstraction that gets in my way? Every fancy schmancy language you can think of still just comes down to feeding the same instructions to a hungry CPU.
That's the thing, you have layers upon layers of stuff that run on the computer. You have a runtime of the language, many many abstractions of interacting with the various capability of the system, a ABI to the OS, an ISA. These things vary and you need to account somehow for these variation. And the changes in the lowest layers percolate through.
Not to mention that the computer is actually very very different than what you imagine.
I say this not to make excuses for react, again I don't know that ecosystem. I spend most of my time writing firmware and low level drivers. And I see during my work the wide array of capabilities and approaches these systems have. They are not an homogeneous bunch.
I'd say GPUs and the things descended from them and how they're being used now is a pretty big development.
You can still be reductionist about it, but it feels materially different from the mundane calculations and algorithms that sprung to mind when I read your post.
>Many are outdated by the time they hit the press.
Quite a while back, I was contacted by Wiley about writing an OpenStack book. I wasn't the right person to write it anyway. But even if I were, by the time the book hit the shelves, OpenStack would almost certainly have moved on a good two versions.
> I don't read programming books any more because they are mostly shit or expensive or expensive and shit.
That’s consistent with the first reason given in the article:
> I lay part of the blame squarely at the feet of the technical book publishing industry:
> Most programming books suck. The barrier to being a book author, as near as I can tell, is virtually nonexistent. The signal to noise of book publishing is arguably not a heck of a lot better than what you'll find on the wilds of the internet. Of the hundreds of programming books released every year, perhaps two are three are truly worth the time investment.
I’m the author of Learning Go from O’Reilly, so I might be a bit biased.
What I’ve found is that different publishers put different amount of effort into producing good content. O’Reilly is almost always excellent. Others are less so.
It’s hard to find a dev who is willing to invest a year of their life to write a book that is likely to make almost no money. It’s doubly hard to find devs who write well.
Given these filters, two or three good programming books a year sounds pretty great.
The problem is that they're written by developers. And when I say developers I mean developers, not engineers or authors. Everything is about a sausage factory, nothing more. You don't learn stuff other than copying and mimicry. And some of it is absolute monkey excrement. But when you don't know better it feels like you are learning something good.
I am considering writing a bad programming book on purpose. I will call it "how to sling together a badly written Go 'enterprise' app and smear AngularJS over the top"
Nah, the worst ones are the ones written by authors, but who aren't developers. Especially the ones that are authors that just write a book for every new trendy language but never get to the point of actually using those languages themselves.
The really good books are REALLY good, though. But the only places I've seen them were at university bookstores (and even then mainly MIT/Stanford) or Amazon when they had physical stores. Otherwise you have to get them online
And then you also have the books which cost 60€ and aren't even printed in color. I mean it makes sense for ecological reasons, but I can get books for 19€ that are colorized.
It would be a much better reading experience if some boxes would actually show colorized instead of different shades of grey.
There’s always LibGen and friends if you really can’t afford much, or to sample before buying. You can also get used copies cheaper. The pricing shouldn’t keep you from reading.
I saw an HN thread a while back where someone recommended a comprehensive book on some networking subject. I'm sure it was a good book, I was floored when I saw physical copies being sold fucking $700.
Unfortunately, a lot of the technical books I wish to read fall into this grift of academic texts.
Just ambling around the book store earlier I saw a 3 inch think tome around Go programming called Pro Go or something. I opened it and it was a whole book of instructional copy and paste recipes that span 10 pages for a simple problem. Urgh. This is the status quo now and it has been for a long time. I walked out with a book on pure mathematics instead - probably more useful in the long run...