Ask HN: Which are the best written tutorials you have seen till now?

38 points by msaharia ↗ HN
Starting next year, I am planning to write more well-organized tutorials as a way to increase my rate of learning and understanding (The topics won't be of interest to general HN community). But I wanted the see what kind of best practices are appreciated in the community. I am not referring to documentation per se, of which I do plenty for myself during work. But on improving myself as a communicator in the written medium when explaining things through code+simpler language.

24 comments

[ 5.2 ms ] story [ 64.1 ms ] thread
I really like Mark Myers' style. He writes "A Smarter Way to Learn Bla" books. His books allow you to turn off your brain and simply sail through.
Thank you. Could you link to some of his online pieces you like?
This was probably the most effective tutorial I have ever used: https://www.amazon.com/RPG-III-400-Shelly-Cashman/dp/0878352...

Early in my consulting career, I got a gig doing RPG III and in three days got up to speed.

Not relevant to many folks these days.

I'm more interested in exposition style, rather than topics. Is there anything particular you liked about that book? I'll try to find a PDF for a looksie.
It was an unusually clear and understandable tutorial that worked well for someone not familiar with the machine. Examples that were broken down in very understandable chunks, expositions of applicable context, very clear non-jargon language.
I'm sure it's a cliche at this point, but I don't think enough writers emulate K&R's style on The C Programming Language. The prose is short, dense, and yet not tedious.

Another great "tutorial" to emulate is the TeXbook by Knuth. This one is verbose, but it shows the reader all the little details and pitfalls about the software without becoming boring.

>I'm sure it's a cliche at this point, but I don't think enough writers emulate K&R's style on The C Programming Language. The prose is short, dense, and yet not tedious.

Agreed. It's also very clear, although at least I had to read many paragraphs more than once to really grok the meaning.

Anecdote: Some years after learning C from that book, and using it a lot at work, I once conducted a C programming course for 10 to 15 senior devs of the IT dept. of a public sector company (Hindustan Aeronautics Limited), all of whom had over 10 years software experience (but not on C and Unix, their experience was on some mainframe, I think Unisys, and some proprietary software running on it). I used the K&R C book for the course. I put a lot of effort into it, and they were pleased with the training. They arranged a small send-off for me on the last evening, with tea and snacks, the manager of the team made a brief speech, thanking me (they were that formal kind) and they gave me a gift as a token of appreciation - a quartz wall clock, which I still have. Another fun thing I remember from that course was that I asked them this question at the end of the course:

"How do you write a C program?"

As expected, they were all puzzled. I mean, they had just attended the course, right? They knew now (some) how to write C programs. No one could think of an appropriate answer. Then I gave them my answer:

"Very carefully."

Almost anything on NSHipster
Learn from Kernighan. Most tutorials are dry and teach "follow these steps". The better ones explain the "why" of the feature. Kernighan comes up with fun examples to keep the reader engaged.
Digital Ocean docs
Actually a good idea. I have always found them to be precise.
I thought Eloquent Javascript was wonderfully done. Read online here: http://eloquentjavascript.net/

Everything by Julia Evans https://jvns.ca/ , Arnold Robbins, Brian Kernighan (e.g. The AWK Programming Language)

More mathematical: Knuth et al, Concrete Mathematics; John Stillwell, Mathematics and its History; Tristan Needham, Visual Complex Mathematics

Go lang turorial. It is very good to learn while running source codes.