HACKER Q&A
📣 sethx

What's the best SDK documentation you’ve ever read?


Finding a good sdk is hard. Finding a well documented one is harder. Would love to see what you consider as the golden standard for documenting sdks!


  👤 srik Accepted Answer ✓
Tailwind. Since tailwind classes expand to css, they could've called it a day by just showing those expansions, but they went further and each class has it's own section and every variant comes with an explanation, often accompanied with illustrations even. Their designer roots show too, because the illustrations are tight. Honestly, one could potentially skip having to refer to css docs and make do with just tailwind's.

https://tailwindcss.com/docs/installation


👤 gsliepen
For C and C++: cppreference.com. Why?

- Very good overview pages.

- Everything is cross-referenced.

- Almost everything comes with an example of how to use it.

- It's a wiki, so you can edit it yourself if you find anything lacking.


👤 aeturnum
I'm extremely fond of the official Elixir documentation - it's easy to read, has a standard structure, and most importantly (to me) you can click the "code symbol" () to go to the actual implementation of the function documented.

https://hexdocs.pm/elixir/Enum.html#flat_map/2


👤 fsflyer
The original Inside Macintosh: https://www.pagetable.com/?p=50

and the Human Interface Guidelines: https://archive.org/details/applehumaninterf00appl

Lots of overview material explaining how it all fits together, as it was a big change from the past.


👤 ChrisMarshallNY
I suspect that the PHP documentation has been the most effective.

I know everyone likes hating on PHP, but the docs actually work very well.

Part of it is because the language is basically a big standard library of functions, and those are easy to document, but the integration of user comments into each page has also been extremely useful to me.

Inside Macintosh (Apple's original system docs) was very good. Apple's documentation has steadily degraded, since. The documentation for SwiftUI is basically worthless.


👤 omnicognate
I don't have a view on SDK documentation but the best API documentation I've read is the Win32 docs.

Why? They are comprehensive, detailed, consistent, systematically presented, clearly explained and professionally written. Microsoft documentation has sadly gone steeply downhill since.


👤 donio
Nobody would call it an "SDK" but I find the Emacs/Elisp documentation to be excellent both on the docstring level and the manuals. It has been refined over several decades, it is thorough, well written and very easy to use from the comfort of Emacs itself.

👤 highwind
I know there are lot of hate for Java but I find Java Doc very complete and helpful.

👤 zetalyrae
This will be an unusual answer: the Inform documentation. It is some of the best, most compelling technical prose I've ever read. The stability of it is very calming when everything else in programming is in a perpetual state of simultaneous development and deprecation.

The two books are "Writing with Inform" and "The Inform Recipe Book":

https://ganelson.github.io/inform-website/book/WI_1_1.html

https://ganelson.github.io/inform-website/book/RB_1_1.html

Inform is a weird beast: it is a domain-specific language for writing interactive fiction stories, with natural English language syntax. But underneath there's an object model and datatypes and you can use it as a general-purpose language: https://learnxinyminutes.com/docs/inform7/

Additionally, there's "The Inform Designer's Manual", which is for an earlier version using a more standard programming language syntax:

https://www.inform-fiction.org/manual/html/index.html


👤 protomikron
Django, because there are no missing parts. Everything is documented and comes with examples, that work and most importantly it anticipates additional steps and often guides you in the right direction (if you want to dive deeper) or clearly states what's out of Django's scope.

👤 ihaveajob
Stripe's documentation was terrific when we were doing our initial integration. Clear descriptions, frequent use cases were described and indexed so they're easy to find, and the code samples (in 6-8 languages) are copy-paste ready using your own pre-populated credentials.

👤 GnarfGnarf
I find the Qt documentation to be excellent. If only Microsoft rose to the same level of helpfulness.

👤 lee101
I like https://text-generator.io because the main SDK is either using the playground then clicking the "get code" button, or there is a one line change for people migrating in from OpenAI text generation.

Lots of good docs have you visually doing the setup/work, then you realise you can download/see a bunch of code for all the actions you did (e.g. everything UI doable is programmable and the tools taught you all the concepts), it minimises the actual programming, it is really hard/time consuming to mentaly translate API docs to code.


👤 aljgz
Strictly speaking, it's not an SDK, but postgresql's official documentation is the best I have seen. Very easy to find what you're looking for, very approachable for beginners, yet versatile for the one who needs to dig deeper.

👤 thenerdhead
Stripe always stood out in terms of SDK documentation. Never had an issue from start to finish.

I always appreciated Maven documentation too. Always verbose and you'll find more than enough information rather than none.


👤 jasone
The FreeBSD manual pages. They are thorough, accurate, and well maintained. I still refer to them on occasion even though I've not actively developed on FreeBSD for the better part of a decade now.

👤 richardcrossley
The Windows 3.1 SDK. I bought and read it at University, some decades ago, and I can still write simple C programs for Windows that compile under Windows 2000 and run under Windows 10.

👤 rtdgggvvgg
Not related to sdk but i Remember the hlp of visual basic like One of the best docs ever edit: because of the code snippets

👤 jemmyw
Any SDK docs that links to, or preferably displays inline, the source code. I use the ruby docs often and they do this, displaying the ruby or C code for the method documented. Really useful, as I wouldn't be motivated to hunt for the source, but if it's right there then I'll read it.

👤 bitwize
The man pages to NetBSD. I don't think I've seen such comprehensive documentation in all my born days. Every command, API, data structure, and concept in the base system is thoroughly documented. I managed to write a toy device driver and incorporate it into the kernel, using nothing but the man pages.

👤 salzig
One thing I miss today, is the simplicity and ease of use of the mIRC help file. There was everything in one place, and offline. I find my self often missing something comparable. (I know of desktop tools for docs, but they didn’t quite fit for me)

👤 Max-q
When I was 10, I got my first computer. A Commodore VIC 20. The book that came with the machine taught me programming. It was very well written and already at 11 I could program quite well. I wish we could take more inspiration from that period when writing modern documentation.

👤 bmitc
GLFW: https://www.glfw.org/

It's basically the only one I can think of in recent memory that basically spells out everything you need to know in the documentation.



👤 alphabettsy
I’d say Stripe. Very detailed and with helpful examples. Never needed to spend much time figuring out how to do something and I didn’t need to look for random examples on the web.

👤 danellis
RISC OS Programmer's Reference Manual. It's very well laid out, clearly written and consistent. In fact, I even bought myself a copy all these years later to peruse for nostalgia.

👤 tangerine11
The maven documentation is worth mentioning here. It it's useful for my area of Android dev and has also made me laugh with it's bluntness.

👤 redwoolf
The Android SDK is well documented with examples throughout and hyperlinked to examples and posts which explain some content in greater depth.

👤 taeric
The TeX-Book. Really fun read that presents the system with exercises that are approachable.

👤 jtreminio
Use openapi and many of the documentation generators will create great reference pages.

👤 kaladin-jasnah
GStreamer is incredibly well documented from when I tried it.

👤 zanethomas
I think the documentation for Vue is pretty good.

👤 manv1
Inside Macintosh, volumes 1-6.

👤 hprotagonist
does this count?

  M-: (info “(elisp)”) RET