musings-assumptions.tex /size: 7336 b    last modification: 2024-01-16 10:21
1% language=us runpath=texruns:manuals/musings
2
3\startcomponent musings-assumptions
4
5\environment musings-style
6
7\startchapter[title={Strange assumptions}]
8
9% \startsection[title={Introduction}]
10% \stopsection
11
12Below I will collect some of the questions and remarks|-|turned|-|questions that
13keep popping up and start annoying me, especially when they come from people who
14should know better (being involved in development themselves). I'm always puzzled
15why these things come up, especially by people who are no user and should not
16waste time on commenting on \CONTEXT.
17
18\startsubsubject[title={All these versions, \CONTEXT\ keep changing, so what's next?}]
19
20Sure, we're now at the third version, \MKII, \MKIV\ and \LMTX, but there is is
21some progression in this. The first version evolved from \TEX\ to \ETEX\ to
22\PDFTEX\ (but also could handle \XETEX\ and \ALEPH). But in order to get things
23done better we moved on to \LUATEX\ and because that is a \CONTEXT\ related
24project it made sense to split the code base which made us end up with a frozen
25stable \MKII\ and an evolving|-|with|-|\LUATEX\ \MKIV. Then there was a demand
26for a stable \LUATEX\ for usage otherwise which in turn lead to the \LUAMETATEX\
27project and its related \CONTEXT\ evolution \LMTX. So, yes, this macro package
28keeps changing. And it this bad? Don't other macro packages evolve? And why do
29users of other packages bother anyway? I never heard a \CONTEXT\ user complain
30either. By the way, how do other macro packages actually count and distinguish
31versions?
32
33\stopsubject
34
35\startsubsubject[title={Why is \CONTEXT\ so slow?}]
36
37Because I seldom hear complaints from users about performance, why do users of
38other macro packages find reason to even bother. In \MKII\ we immediately started
39with a high level keyword driven interface so that came with a price. But quite
40some effort was put into making it as fast and efficient as possible. Fortunately
41for \CONTEXT\ users the \MKIV\ version became faster over time, in spite of it
42using a 32 bit engine (which comes at a price). Even better is that \LMTX\ with
43\LUAMETATEX\ has gained a lot over \MKIV. But then, I guess, other macro packages
44that use \LUATEX\ are also fast, so maybe the claims that \CONTEXT\ is much
45slower than other macro packages still hold. I'm not going to check it, and I bet
46\CONTEXT\ users don't care.
47
48\stopsubject
49
50\startsubsubject[title={Why does \CONTEXT\ (even) needs a runner.}]
51
52Indeed, because we don't want users to be bothered with managing runs right from
53the start it came with a program (\MODULA2) and later a script (\PERL\ followed
54up by \RUBY) that checks if an additional run is needed because of some change in
55the table of contents, references, the index, abbreviations, positioning, etc.
56Index sorting was done too so there was no further dependency. We though that
57was actually a good thing. With \LUATEX\ and \LUAMETATEX\ all that became even
58more integrated because \LUA\ was used. The runner(s) also made it possible to
59ship additional scripts without the need for potentially clashing applications in
60the ever growing \TEX\ ecosystem. Interesting is that ridiculing \CONTEXT\ for
61script dependency was never complemented by ridiculing other macro packages that
62nowadays seem to depend on scripts (with some even using \LUATEX\ which
63originates in the \CONTEXT\ domain).
64
65\stopsubject
66
67\startsubsubject[title={Why does \CONTEXT\ organizes files that way?}]
68
69\CONTEXT\ sticks quite well to the \TEX\ Directory Structure, so what is the
70problem here?. Yes, we needed some granularity (e.g.\ for \METAPOST) but later
71that just became normal. And indeed we optionally let users use a flat directory
72structure for fonts but that's normally in the users own local tree. Oh, and in
73\MKIV\ and \LMTX\ we use our own file database (actually also in \MKII\ at some
74point), just because (definitely at that time) it was way faster and we needed
75more features. The same is true for the font database, \UTF\ encoded hyphenation
76patterns, and so on. Can it be that we're often just ahead of the pack?
77
78Let's nor forget to complain about the fact that \MKIV\ and \LMTX\ use a cache
79but so do lots or programs: just think browsers of some scripting language
80ecosystems. And that was introduced right after we started with \MKIV\ and hasn't
81changed much at all. Users expect no less. And other macro packages are free not to
82use the cache (for e.g.\ fonts).
83
84\stopsubject
85
86\startsubsubject[title={The authors of \CONTEXT\ don't care about compatibility, do they?}]
87
88You're joking, right? Surely some features became sort of obsolete when we moved
89to \MKIV, like encodings. But if users like to stick to them, they can. Do you
90really think that user like us to drop compatibility? Maybe it fits some
91narrative to spread that story. Of course, we make things better if we can, and
92the interfaces have always permitted upgrades and extensions. There are
93definitely cases when (maybe due to user demand) something new gets added that
94then evolves towards a stable state, so yes, there can be code in flux. But that
95is natural. Should we just assume that other macro packages don't evolve, never
96have bugs, don't break anything, never fix broken things immediately? Maybe. And
97complaining about \CONTEXT\ evolving is none of its non|-|users business anyway.
98
99\stopsubject
100
101\startsubsubject[title={Is \CONTEXT\ commercial?}]
102
103This is one of the strangest questions (or remarks). We use \CONTEXT\ ourself and
104using it in a job is by definition commercial use. Are all other \TEX ies only
105using \TEX\ macro packages in the free time, as hobby? I'm pretty sure that more
106money is made by competing package users and I'm also sure that most of the time
107involved in creating \CONTEXT\ (and \LUAMETATEX\ for that matter) is not covered
108by income. Using the fact that \CONTEXT\ is developed by a (small) company excuse
109for lack of development elsewhere is about as lame as it can get. Much
110development is done without us needed it, but because we like doing it, because
111of the challenge.
112
113\stopsubject
114
115\startsubsubject[title={Should I use \CONTEXT\ for math?}]
116
117Of course, because that's what \TEX\ is good at. It you are forced to use a
118specific macro package for its math abilities, just do so. If you want to move on
119or want consistent interfaces, maybe \CONTEXT\ is for you. We don't care. Trust
120your eyes more than assumed standards or ways of doing math typesetting.
121
122\stopsubject
123
124\startsubsubject[title={Why is the format file so much larger than for other packages?}]
125
126The answer is simple: we have an integrated system, so we have plenty macros and
127with each token taking 8 bytes (data and link) that adds up. And for \MKIV\ and
128\LMTX\ there also \LUA\ code involved as well as a rather large character
129database. In \LUATEX\ the format file is compressed (and also zipped) and in
130\LUAMETATEX\ is it is a bit more compressed but now zipped; still the \LMTX\
131format file is smaller than the \MKIV\ one. We let those who complain wonder why
132that is. We also let users of other macro packages wonder if loading a ton of
133stuff later on doesn't accumulate to a similar or larger memory footprint. And, as
134with many critics: make sure to check every few years if that other macro package
135hasn't catched up and can be criticized the same way.
136
137\stopsubject
138
139\stopchapter
140
141\stopcomponent
142