Every coder will say so: when learning a new language or using a new
toolkit or library, a great documentation makes the difference. It is
however usually really boring to browse when it comes as a pdf, or in
Documentation engines, including doxygen, qdoc, appledoc among many
great others, provide indexation and allow their authors to generate
databases for fast queries of symbols. This is where IDEs come, as the
documentation lookup becomes part of the code writing experience.
They however present many disadvantages: they are usually bound to a
language and a small set of libraries. Also, they hide many aspects of
the development life cycle: managing dependencies, hiding linking and
post build phases. I won’t argue on why these are drawbacks, but ail
those reasons make me use a single editor for all languages I’m coding
with, all tools I’m using in a development cycle: Emacs.
I’ve been using macs for many years now, but I happen to hack on other
operating systems as well. There is one software that made me love
coding on the mac: Dash. It is an API
documentation browser that pops up with a key sequence and disappears
when it looses focus. It hosts and downloads more than 130 famous
docsets and provide very fast searching and a nice browsing
experience. Also, its author, Bogdan Popescu is a very nice person,
easy to talk with and is very open when it comes to contributing to
Helm is an emacs incremental
completion and selection narrowing framework, a fork of the well known
anything.el, that is currently very popular for many developers are
using it as a frontend for their own packages.
Here comes Helm-Dash, a
wonderful emacs packages, available on
Melpa that uses Dash docsets inside emacs
to browse documentation. Note that is does not require the Dash app,
and so, works on any platform, just as Emacs !