We've come a long way since the original literate TeX program.
We've come a long way since the original literate TeX program.
Yes, it is massive and complex.
Fortunately, the core engine is essentially self-contained. Almost all of the things that make the TeX frustrating come from the UX, or the difficulty of adding new capabilities that call for somewhat more modern C code. By compiling all of the C with a Rust wrapper, we get a single binary out in the end, plus the ability to extend the engine in ways that were just not feasible before.
Revamping the core engine code from C to Rust would be nice, because it could be cleaner and more comprehensible, but it actually doesn't buy you anything in terms of the UX.
Edit: also, I didn't realize this when I made the decision to fork XeTeX, but LuaTeX has shifted to a C implementation that is more or less detached from the original WEB code.
Which is ultimately frustrating if you ever try to go back to an old document, and realize you don't have the exact markup engine that you used back then, so that you can't actually rerender it.
Now, to be fair, often this is ok. In particular, you might not care about how it rendered before, and a minimal markdown is fine.
However, if you do care about presentation, it is maddening.
If you who want something 100% compatible with TeX, you already have it, and it's not clear why you'd care about the implementation language.
Seriously, even if you are not familiar with Pascal, it is not as unapproachable as could be imagined.