Re: [ANNOUNCE] GIT 1.5.3-rc4

3 messages, 3 authors, 2016-06-15 · open the first message on its own page

Re: [ANNOUNCE] GIT 1.5.3-rc4

From: David Kastrup <hidden>
Date: 2016-06-15 22:43:26

Linus Torvalds [off-list ref] writes:
On Sat, 4 Aug 2007, David Kastrup wrote:
quoted
A system such as info, in contrast, is hierarchical, and organized
with indexes and cross references making it much easier to find
things.
You must be kidding. Texinfo is the worst documentation format EVER.
Oh come on.  It was the first hyperlinked and hierarchical format
before HTML even existed.  Its age shows, but the replacements have
not managed to produce anything more useful.  There have been
discussions about replacing the _info_ format with an HTML or XHTML
subset, however, that conveys the same amount of hierarchical
information.
And the readers universally suck too, unless you're a total GNU
emacs fan and have been for a decade, and have problems
understanding people who don't like the all-in-one mentality.
Actually, a decade ago the Emacs-internal info reader was worse than
it is now.

Any, after you have in your usual amicable manner declared anybody
insane that would not use the same tools as you, let us come back to
the plain facts again.
There are absolutely _zero_ advantages in Texinfo over AsciiDoc.
There are, of course, advantages to Texinfo.  Any system that is not
completely braindead has some unique advantages, and not everything
not designed by you is braindead.

One advantage to Texinfo is that it is _structured_: whether or not
you like the available info readers, there is the information "up",
"next", "previous" in every node, and every node has a hyperlinkable
name which you can use for referring to it.  And the info readers are
aware of that, and you can navigate using single keystrokes.

Now it may well be possible to put the same information into AsciiDoc
files, but there are no _readers_, bad or not, that would make use of
it.

I can specify something like

(info "(gcc) Extended Asm")

and when you are reading mail in Emacs, you can click on that line and
get to the respective page in a manual comprising hundreds of pages.
You can, of course, also type
info "(gcc) Extended Asm"
into your command line and use the standalone info reader to get
immediately to that line.

You can also get there by typing

info gcc
i assem <TAB>
and picking the right of three choices from the index.  The standalone
reader may not be pretty, but it does the job of accessing those
informations, and you can with single keypresses go up and forward in
a hierarchically organized, _structured_ manual of hundreds of pages.

And as opposed to AsciiDoc, there _are_ readers that make use of this
information.
It has all the same disadvantages, except the source files are
*also* unreadable (which is the one really nice feature of AsciiDoc
- you can ignore everything else, and just read the original .txt
file).
So what?

    makeinfo --plaintext

exists.  The important thing for a source file format is that it is
_writeable_.  Restricting a source file format to carry just that kind
of information which can be made to look pretty is a mistake in my
book.

Anyway, here are some sections from AUCTeX's README generated from
readme.texi:

    Introduction to AUCTeX
    **********************

    This file gives a brief overview of what AUCTeX is.  It is *not* an
    attempt to document AUCTeX.  Real documentation for AUCTeX is available
    in the manual, which should be available as an info file after
    installation.

    1 Installation
    **************

    Read the `INSTALL' or `INSTALL.windows' file respectively for
    comprehensive information about how to install AUCTeX.

       The installation routine tries to make the modes provided by AUCTeX
    the default for all supported file types.  If this does not happen in
    your case, add
         (load "auctex.el" nil t t)
       to your init file and consult the section about loading the package
    in the `INSTALL' file.

       If you want to change the modes for which it is operative instead of
    the default, use
         M-x customize-variable RET TeX-modes RET

       If you want to remove a preinstalled AUCTeX completely before any of
    its modes have been used,
         (unload-feature 'tex-site)
       should accomplish that.

       If you are considering upgrading AUCTeX, the recent changes are
    described in the `CHANGES' file.

Actually, the indentation could be prettier if the quote environments
were properly set off as paragraphs.

Anyway, here is the corresponding source (it suffers from the
complications that it is the start of the file, and that the README
can be produced both as a top-level standalone file, as well as a
subordinate chapter in the containing complete documentation).

    @include macros.texi
    @ifset rawfile
    @chapheading Introduction to @AUCTeX{}
    @raisesections
    @end ifset

    @ifclear rawfile
    @node Introduction, Installation, Copying, top
    @chapter Introduction to @AUCTeX{}
    @end ifclear

    @ifset rawfile
    This file
    @end ifset
    @ifclear rawfile
    This section of the @AUCTeX{} manual
    @end ifclear
    gives a brief overview of what @AUCTeX{} is.  It is @strong{not} an
    attempt to document @AUCTeX{}.  Real documentation for @AUCTeX{} is
    available in the
    @ifset rawfile
    manual, which should be available as an info file after installation.
    @end ifset
    @ifclear rawfile
    rest of the manual.
    @end ifclear

    @section Installation

    Read the
    @ifset rawfile
    @file{INSTALL} or @file{INSTALL.windows} file
    @end ifset
    @ifclear rawfile
    section @ref{Installation}, or @ref{Installation under MS Windows},
    @end ifclear
    respectively for comprehensive information about how to install
    @AUCTeX{}.

    The installation routine tries to make the modes provided by @AUCTeX{}
    the default for all supported file types.  If this does not happen in
    your case, add
    @lisp
    (load "auctex.el" nil t t)
    @end lisp
    to your init file and consult the section
    @ifset rawfile
    about loading the package in the @file{INSTALL} file.
    @end ifset
    @ifclear rawfile
    @ref{Loading the package}.
    @end ifclear

    If you want to change the modes for which it is operative instead of the
    default, use
    @example
    @kbd{M-x customize-variable RET TeX-modes RET}
    @end example

    If you want to remove a preinstalled @AUCTeX{} completely before any of
    its modes have been used,
    @example
    (unload-feature 'tex-site)
    @end example
    should accomplish that.

    If you are considering upgrading @AUCTeX{}, the recent changes are
    described in
    @ifset rawfile
    the @file{CHANGES} file.
    @end ifset
    @ifclear rawfile
    @ref{Changes}.
    @end ifclear


This is reasonable writeable, and it contains all the information for
hyperlinking and cross-referencing the stuff.  It is not necessarily
overly pretty, but it can be converted very efficiently both into
single file PDF which can be either navigated on its own or printed,
or into raw text files similar to the existing documentation, or into
HTML or into info, for which efficient _hierarchical_ readers exist.

Now XML certainly has all the expressivity needed to represent the
same information, but you still need a reader that actually makes use
of it.  And you have to have the information also expressed in
AsciiDoc, and the requirement that it still looks good in the _source_
code makes it awkward designing an appropriate ASCII way of
representing the information.

AsciiDoc may have the _potential_ to do the same, but at the current
point of time, I don't see that there are tools for conveniently
navigating hundred-page and longer AsciiDoc documents.  And there are
for Texinfo.

I am fine if you don't like Texinfo and would rather use something
different with the _same_ amount of information content as Texinfo
has, and with readers that make use of it.  Heck, _if_ the source
format can be made to represent the same information, it might be
possible to create Texinfo or at least info pages from it.

Texinfo is not really the point.  It is just there to show that it
_is_ possible to work with documentation that provides a _structured_
view into a _large_, coherent document.  Of course, by far the best
reader for it (or rather the generated info files) is Emacs, and
that's definitely a drawback for those who don't work with it.  The
standalone reader has been sub-par for decades.  At the current point
of time, it may be considered tolerable, but not exciting.  But at
least it exists.

Man pages don't scale to hundreds of pages, and neither does the
current organization of git documentation do this.  If you can propose
something that works at least as well as Texinfo for navigating
hundreds of pages of information, go ahead.

It is not that Texinfo is great.  It is just that I don't see an
alternative that sucks less right now.  Lots of _formats_ would have
potential for it, but the readers for making use of such documentation
are just not there.  And PDF is not really a good alternative, since
fonts, pagination and linear order are not optimized for screen, but
for print.  And of course, it is much slower to display, and has no
up/down navigation, but only forward/back.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

Re: [ANNOUNCE] GIT 1.5.3-rc4

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-06-15 22:43:26


On Sat, 4 Aug 2007, David Kastrup wrote:
quoted
You must be kidding. Texinfo is the worst documentation format EVER.
Oh come on.  It was the first hyperlinked and hierarchical format
before HTML even existed.
Yes. And it should have died after html took its place.
Actually, a decade ago the Emacs-internal info reader was worse than
it is now.
Wow. I've used the emacs one, and the stand-alone info one, and both are 
pretty horrid. You're saying that they used to be _worse_?

(Admittedly, my GNU emacs-fu is very weak. I use an emacs-like editor, but 
it's just an editor, and it's subtly different, so I actually find the 
"real" emacs to be really disturbing on so many levels ;)
[ structure ]

And as opposed to AsciiDoc, there _are_ readers that make use of this
information.
None that any normal user would want to use. 

The thing is, html does a much better job of all of that, simply because 
there are useful readers. The same, btw, goes for man-pages: even though 
they have no structure at all, just the fact that normal people know how 
to use them, they are actually superior to info pages!

That's something that the FSF seems to have missed in their push for info 
format: a lot of FSF programs have really substandard man-pages, but that 
doesn't mean that people read the info ones _anyway_. Because the readers 
are so disgustingly horrible, plain man-pages are actually much more 
useful, despite the fact that they don't have any cross-referencing etc.

		Linus

Re: [ANNOUNCE] GIT 1.5.3-rc4

From: Jeff King <hidden>
Date: 2016-06-15 22:43:26

On Sat, Aug 04, 2007 at 07:49:36PM +0200, David Kastrup wrote:
I can specify something like

(info "(gcc) Extended Asm")

and when you are reading mail in Emacs, you can click on that line and
get to the respective page in a manual comprising hundreds of pages.
Ugh. A documentation referencing system that works only in one
particular editor, or with one particular documentation format?

Please, the net decided on a standard for referencing resources long
ago, and they are called URLs.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help