Live data from Hacker News

How to write a programming book

aquicarattino.com

41–50 of 71 posts

Re: How to write a programming book

#42

Earlier quoted context omitted.

Another thing that bothers me is that most intermediary books on a topic tend to start with a good chunk of beginner stuff. For example, many game programming books will cover a ton of beginner material at the start, same with graphics books or books on a particular programming language. I shudder to think of how much duplicated content that I will never read because I'm no longer a beginner is sitting in my bookshel…

This is why I look for gems like Professional Javascript for Web Developers[0][1]. (I can't speak to the latest version, I think I read the 3rd edition from 2012.) It's a book about Javascript that assumes you've written software in other languages before. I believe the book uses Java/C#, Python, and maybe a couple other languages as reference points. It describes language behavior and constructs that may be new to y…

Fluent Python sounds like the same thing. It assumes experience in another language and having done the official Python tutorial.

Re: How to write a programming book

#43
post #10

What pains me about programming books is that due to the market pressure the balance is skewed extremely in the direction of beginner material and there is precious little material for advanced users. If you look at other branches of knowledge, say electronics, there is couple of books for beginners and then massive selection of highly specialized books for experts. I get that part of this is due to multitude of lang…

Another thing that bothers me is that most intermediary books on a topic tend to start with a good chunk of beginner stuff. For example, many game programming books will cover a ton of beginner material at the start, same with graphics books or books on a particular programming language. I shudder to think of how much duplicated content that I will never read because I'm no longer a beginner is sitting in my bookshel…

There was a commenter here on HN (if my Google-fu serves me, I'll come back and edit with a link) talking about this problem wrt contracted educational services. Folks request intermediate to advanced training. The trainer shows up, finds out that everyone is actually a beginner with this particular technology, and has to adapt the course appropriately.

That's pretty good customer service, but it's not something you can get with a book. I suspect "intermediate" books with a "beginner" start are attempting to address this problem and head off the terrible reviews. Perhaps it's an ego thing with software engineers. "I'm no idiot, so I'm intermediate," "I've been doing software for decades so I'm advanced," and not realizing that it's about your experience with this technology, not your brain.

Re: How to write a programming book

#44

Earlier quoted context omitted.

This is why I look for gems like Professional Javascript for Web Developers[0][1]. (I can't speak to the latest version, I think I read the 3rd edition from 2012.) It's a book about Javascript that assumes you've written software in other languages before. I believe the book uses Java/C#, Python, and maybe a couple other languages as reference points. It describes language behavior and constructs that may be new to y…

Fluent Python sounds like the same thing. It assumes experience in another language and having done the official Python tutorial.

Thanks, I'll have to check it out. I've definitely dabbled in Python but I would like to learn it properly.

Re: How to write a programming book

#45
post #39

Earlier quoted context omitted.

What advanced material are you looking for? A lot of research papers can be found online for free. What problem are you trying to solve that you feel would be helped by advanced material not found in research papers and/or computer science textbooks? For me, the problems I've encountered that I thought were problems of lack of advanced learning material, have turned out to be problems of absence of tooling, libraries…

> you'd find out that there is maybe a few thousand people world-wide who are genuinely interested in putting advanced computer science to use. Nah, there are lots of people writing big complex programs with big complex architecture. Architecting programs isn't an "advanced compsci topic", but there are lots and lots of books that don't really talk much about it. Instead they show you how to use your programming lang…

[deleted]

Re: How to write a programming book

#46

Earlier quoted context omitted.

Another thing that bothers me is that most intermediary books on a topic tend to start with a good chunk of beginner stuff. For example, many game programming books will cover a ton of beginner material at the start, same with graphics books or books on a particular programming language. I shudder to think of how much duplicated content that I will never read because I'm no longer a beginner is sitting in my bookshel…

There was a commenter here on HN (if my Google-fu serves me, I'll come back and edit with a link) talking about this problem wrt contracted educational services. Folks request intermediate to advanced training. The trainer shows up, finds out that everyone is actually a beginner with this particular technology, and has to adapt the course appropriately. That's pretty good customer service, but it's not something you…

Okay, so you propose all books should be written for noobs just in case noob picks up something for already advanced user?

That just doesn't make any sense.

Obviously, the author of the book can explain the book is really meant for a user with some prior knowledge and experience of the matter. If the reader ignores it it's not really a problem of the author to deal with.

My background is mathematics and, as an example, just recently wanted to pick up some control theory. It is absolutely normal I pick up a book I have not enough knowledge to even start reading. It is normal. You get something else, study it, then go back to the one you tried to understand.

Re: How to write a programming book

#47
post #39

Earlier quoted context omitted.

What advanced material are you looking for? A lot of research papers can be found online for free. What problem are you trying to solve that you feel would be helped by advanced material not found in research papers and/or computer science textbooks? For me, the problems I've encountered that I thought were problems of lack of advanced learning material, have turned out to be problems of absence of tooling, libraries…

> you'd find out that there is maybe a few thousand people world-wide who are genuinely interested in putting advanced computer science to use. Nah, there are lots of people writing big complex programs with big complex architecture. Architecting programs isn't an "advanced compsci topic", but there are lots and lots of books that don't really talk much about it. Instead they show you how to use your programming lang…

If you haven't read them yet, Design Patterns, The Pragmatic Programmer, and Code Complete, will all help you.

Re: How to write a programming book

#48
post #11

Generally speaking, books as a format make no sense. I have seen the financial records for number of popular tech book authors — and numbers related to them having published, for example: products, services, consulting & speaker fees, etc. If the author is trying, they make way more money from the numbers related to them publishing than the book sales. If you like writing long form tech guides, do yourself and your a…

> Generally speaking, books as a format make no sense.

This is such a silly assertion. Books have been one of the most effective ways for an informed author to get large, complex topics and rich experiences into a another persons head literally since the Roman Empire.

Even in today's world where we have an infinite number of other formats and media to choose from, millions of people still prefer and learn from books. The ability to encode spoken language into a series of written words that can be consumed at a pace the reader controls is one of the most powerful technologies humans have ever invented. And an author taking the time to organize an entire body of work into a single coherent linear narrative is one of the most effective tools to move information across brains.

> I have seen the financial records for number of popular tech book authors

I think what you're trying to say is that conventional tech publishers make no sense economically, and I am inclined to agree with that. The idea that an author can do 90% of the work and get 10% of the royalties is just bananas to me. That kind of royalty sharing only made sense in a time when publishers formed a hermetically sealed cartel preventing independent authors from easily accessing bookshelves. Those days are thankfully over.

It is possible to make decent money from writing technical books if you self publish and build an audience yourself.

Re: How to write a programming book

#49
> "If you ever start the path of writing a book, you should ask yourself why you are doing it."

I've wanted to create a short video series for my workplace, but I'm stuck on what the approach and theme should be.

The series would be about automotive assembly, and I have a lot of things to talk about, but I keep getting stuck on what people would be interested in and what would be helpful.

Re: How to write a programming book

#50
post #12
post #10

What pains me about programming books is that due to the market pressure the balance is skewed extremely in the direction of beginner material and there is precious little material for advanced users. If you look at other branches of knowledge, say electronics, there is couple of books for beginners and then massive selection of highly specialized books for experts. I get that part of this is due to multitude of lang…

As someone who writes programming stuff, yes this! I avoid complete beginners and aim for junior to mid. The problem is that this is still a crazy fast growing field. Say we double in number every 5 to 10 years. That means at 5 years experience you are more experienced than half the industry . That’s mindboggling. Newbies also need more help and are more willing to pay for help. Oldbies only pay for help when enterin…

That is why there is a small time window for smallish niches, like Elixir, Clojure or Rust. One has to have their eye one fashion, the crowds, the knowledge gap and the perceived utility.

I personally wouldn't wanting to be competing with all the other beginner material and sufficiently advanced material would take forever to produce.

But if there was a 100 page book on writing an Elixir/Phoenix app and deploying it on K8s across 4 cloud providers, using a CDN and Aerospike, I'd pay 50$ for that.

Post reply on HN