% language=us runpath=texruns:manuals/musings

\startcomponent musings-assumptions

\environment musings-style

\startchapter[title={Strange assumptions}]

% \startsection[title={Introduction}]
% \stopsection

Below I will collect some of the questions and remarks|-|turned|-|questions that
keep popping up and start annoying me, especially when they come from people who
should know better (being involved in development themselves). I'm always puzzled
why these things come up, especially by people who are no user and should not
waste time on commenting on \CONTEXT.

\startsubsubject[title={All these versions, \CONTEXT\ keep changing, so what's next?}]

Sure, we're now at the third version, \MKII, \MKIV\ and \LMTX, but there is is
some progression in this. The first version evolved from \TEX\ to \ETEX\ to
\PDFTEX\ (but also could handle \XETEX\ and \ALEPH). But in order to get things
done better we moved on to \LUATEX\ and because that is a \CONTEXT\ related
project it made sense to split the code base which made us end up with a frozen
stable \MKII\ and an evolving|-|with|-|\LUATEX\ \MKIV. Then there was a demand
for a stable \LUATEX\ for usage otherwise which in turn lead to the \LUAMETATEX\
project and its related \CONTEXT\ evolution \LMTX. So, yes, this macro package
keeps changing. And it this bad? Don't other macro packages evolve? And why do
users of other packages bother anyway? I never heard a \CONTEXT\ user complain
either. By the way, how do other macro packages actually count and distinguish
versions?

\stopsubject

\startsubsubject[title={Why is \CONTEXT\ so slow?}]

Because I seldom hear complaints from users about performance, why do users of
other macro packages find reason to even bother. In \MKII\ we immediately started
with a high level keyword driven interface so that came with a price. But quite
some effort was put into making it as fast and efficient as possible. Fortunately
for \CONTEXT\ users the \MKIV\ version became faster over time, in spite of it
using a 32 bit engine (which comes at a price). Even better is that \LMTX\ with
\LUAMETATEX\ has gained a lot over \MKIV. But then, I guess, other macro packages
that use \LUATEX\ are also fast, so maybe the claims that \CONTEXT\ is much
slower than other macro packages still hold. I'm not going to check it, and I bet
\CONTEXT\ users don't care.

\stopsubject

\startsubsubject[title={Why does \CONTEXT\ (even) needs a runner.}]

Indeed, because we don't want users to be bothered with managing runs right from
the start it came with a program (\MODULA2) and later a script (\PERL\ followed
up by \RUBY) that checks if an additional run is needed because of some change in
the table of contents, references, the index, abbreviations, positioning, etc.
Index sorting was done too so there was no further dependency. We though that
was actually a good thing. With \LUATEX\ and \LUAMETATEX\ all that became even
more integrated because \LUA\ was used. The runner(s) also made it possible to
ship additional scripts without the need for potentially clashing applications in
the ever growing \TEX\ ecosystem. Interesting is that ridiculing \CONTEXT\ for
script dependency was never complemented by ridiculing other macro packages that
nowadays seem to depend on scripts (with some even using \LUATEX\ which
originates in the \CONTEXT\ domain).

\stopsubject

\startsubsubject[title={Why does \CONTEXT\ organizes files that way?}]

\CONTEXT\ sticks quite well to the \TEX\ Directory Structure, so what is the
problem here?. Yes, we needed some granularity (e.g.\ for \METAPOST) but later
that just became normal. And indeed we optionally let users use a flat directory
structure for fonts but that's normally in the users own local tree. Oh, and in
\MKIV\ and \LMTX\ we use our own file database (actually also in \MKII\ at some
point), just because (definitely at that time) it was way faster and we needed
more features. The same is true for the font database, \UTF\ encoded hyphenation
patterns, and so on. Can it be that we're often just ahead of the pack?

Let's nor forget to complain about the fact that \MKIV\ and \LMTX\ use a cache
but so do lots or programs: just think browsers of some scripting language
ecosystems. And that was introduced right after we started with \MKIV\ and hasn't
changed much at all. Users expect no less. And other macro packages are free not to
use the cache (for e.g.\ fonts).

\stopsubject

\startsubsubject[title={The authors of \CONTEXT\ don't care about compatibility, do they?}]

You're joking, right? Surely some features became sort of obsolete when we moved
to \MKIV, like encodings. But if users like to stick to them, they can. Do you
really think that user like us to drop compatibility? Maybe it fits some
narrative to spread that story. Of course, we make things better if we can, and
the interfaces have always permitted upgrades and extensions. There are
definitely cases when (maybe due to user demand) something new gets added that
then evolves towards a stable state, so yes, there can be code in flux. But that
is natural. Should we just assume that other macro packages don't evolve, never
have bugs, don't break anything, never fix broken things immediately? Maybe. And
complaining about \CONTEXT\ evolving is none of its non|-|users business anyway.

\stopsubject

\startsubsubject[title={Is \CONTEXT\ commercial?}]

This is one of the strangest questions (or remarks). We use \CONTEXT\ ourself and
using it in a job is by definition commercial use. Are all other \TEX ies only
using \TEX\ macro packages in the free time, as hobby? I'm pretty sure that more
money is made by competing package users and I'm also sure that most of the time
involved in creating \CONTEXT\ (and \LUAMETATEX\ for that matter) is not covered
by income. Using the fact that \CONTEXT\ is developed by a (small) company excuse
for lack of development elsewhere is about as lame as it can get. Much
development is done without us needed it, but because we like doing it, because
of the challenge.

\stopsubject

\startsubsubject[title={Should I use \CONTEXT\ for math?}]

Of course, because that's what \TEX\ is good at. It you are forced to use a
specific macro package for its math abilities, just do so. If you want to move on
or want consistent interfaces, maybe \CONTEXT\ is for you. We don't care. Trust
your eyes more than assumed standards or ways of doing math typesetting.

\stopsubject

\startsubsubject[title={Why is the format file so much larger than for other packages?}]

The answer is simple: we have an integrated system, so we have plenty macros and
with each token taking 8 bytes (data and link) that adds up. And for \MKIV\ and
\LMTX\ there also \LUA\ code involved as well as a rather large character
database. In \LUATEX\ the format file is compressed (and also zipped) and in
\LUAMETATEX\ is it is a bit more compressed but now zipped; still the \LMTX\
format file is smaller than the \MKIV\ one. We let those who complain wonder why
that is. We also let users of other macro packages wonder if loading a ton of
stuff later on doesn't accumulate to a similar or larger memory footprint. And, as
with many critics: make sure to check every few years if that other macro package
hasn't catched up and can be criticized the same way.

\stopsubject

\stopchapter

\stopcomponent
