Hi,
Following this conversation, I might have some interesting things to
add. To summarize: the situation is IMHO much better than the tone of
discourse suggests. Let me explain.
Since I'm relatively unknown here, I'd just say I've been using Asciidoc
Python for about 4 years: asciidoc -> docbook -> LaTeX -> PDF, with a
custom LaTeX style and a number of variables that are automatically
extracted from a companion XML file that sits near each document (using
a combination of a Makefile and a bash script). I love the ability to
always produce perfectly typeset documents from a simple, no hidden
state, source code.
I also was surprised, nearly shocked, or at least a little afraid at
first, to read that "Currently there isn't a specification".
So, below I want to build upon this part of Dan's answer:
[The OP is] confusing a defacto standard with something that's not
well defined. A defacto standard is one where the standard is born out
of the implementation. This is not necessarily a bad thing. It's one
approach to making a platform. (A good example of this is Spring).
This approach has carried AsciiDoc along for many years and has worked
well so far. But now that AsciiDoc is becoming more pervasive and
there's a need for multiple implementations, we can see that a
specification of the core language would be very useful. So we've
reached a transition moment. Let's just acknowledge it as that.
I have worked in the digital video industry and learned one thing:
typical video codec specifications (I'm thinking about MPEG here, where
by the way the specification only tell how to decode, not how to encode)
are text written in English by human to be read by humans. But
interestingly, as video compression becomes more and more sophisticated
throughout the years, the text looks more and more like formal code.
There are parts that explain how to interpret other parts, etc. More so
than in the RFCs that define "MUST", "SHOULD", etc.
Why do I mention this? Because the pattern that emerges is that text
written in English by humans for humans keeps some part of ambiguity,
and its evolution to clarity converges to something that looks like
code. Because that's the way it can be complete and unambiguous.
What can we anticipate? Perhaps the ultimate specification is some kind
of code.
Right now, Asciidoctor is the leading implementation and it's test
suite maintains the definition of the modern language. If there's a
reference for the specification, that would be it.
That's where we should be careful and we'll soon see why I think the
situation is already pretty good at the moment.
Incomplete specification is dangerous. We've had an example of
incomplete specification with VP8 video codec (ref.
https://en.wikipedia.org/wiki/VP8): "since the source constitutes the
actual specification, any bugs will also be defined as something that
has to be implemented to be in compliance".
So why did I start with "the situation is IMHO much better than the tone
of discourse suggests"?
Because Dan and Lex wrote that Asciidoc has an "extensive test suite".
A test suite is something that can both:
* be read by a human/developer
* be read by a computer to automatically check an implementation for
compliance.
Of course, a test suite is generally a collection of examples inputs and
expected outputs (it can be richer since it's actually a program), so
what follows is a little schematic, yet might be insightful.
** What if we "realized" that a comprehensive test suite qualifies
simultaneously as (1) a human-readable specification, (2) a
machine-readable specification, (3) an automatic judge that can bless
any new implementation (even in a different language)?
Then, AsciiDoc is actually in a pretty good shape!
Jaime can download a test suite adapt it perhaps a little to test their
new implementation, and voilà, they have an automatic teacher that can
tirelessly tell what cases are missing in the new implementation and
what it should produce. I call that a pretty strong case to expect
AsciiDoc to thrive with compatible implementations, for the delight of
people writing documents in that common format.
Kudos to all the people working with Asciidoc!
Please share your thoughts.
--
Stéphane Gourichon
--
You received this message because you are subscribed to the Google Groups
"asciidoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/asciidoc.
For more options, visit https://groups.google.com/d/optout.