I really disagree with you here. Sure, the codebase is a mess, that's not a surprise. It's over 30 years old. While some may see it as a hack on top of TeX, I see it as a development. The ways to make packages is, in my opinion, what makes LaTeX so great; all my needs so far could be found within a google search, which led me to tex.sx and a nice answer involving a package that does exactly what I wanted.
LaTeX is not only very extensible, but also, in my experience, very stable. Even typesetting hundreds of pages filled with figures (both rasterized images and vector graphics made with TikZ, which is wonderful by the way), equations, tables, references and stuff, just works.
I do agree on the error messages though. However, so far a search on tex.sx have solved everything. Sure, spending 30 minutes on a bug only to discover a misplaced closing bracket sucks, but to me, that's a tradeoff I can live with.
If anything should ever replace (La)TeX, my bet would be something like Markdown. However, I think it'll take a while... LaTeX has a HUGE community and a large array of packages written for all sorts of features.
If you haven't dealt with catastrophic package conflicts, I have to wonder how involved the projects you're writing are.... and I'm somewhat surprised by the claim, "...equations... just work." They "work," but god I'd love to be able to write
\left(\int some stuff \\
some stuff on a new line\right)
and have the parentheses, like, resize the way they would without the line-break.
I don't think that Markdown is a viable replacement for LaTeX. The benefits of LaTeX over TeX are convenient font management, cross references, bibliographic databases, etc (although, if you can do without "convenient font management", TeX with eplain will get you most of what you want LaTeX for). The benefits of TeX are page layout and typography. Neither of these really fit Markdown. TeX on its own isn't much heavier than Markdown.
You can use LaTeX in a Markdown document and convert to PDF with a tool like Pandoc. It might be a better option when you don't care much about custom formatting.
Definitely; pandoc is great and most people are better off using it than LaTeX directly. The comments above mine meant "replace" as in "displace," though and some of the important functionality of LaTeX, stuff that matters a lot when you're writing a mathematically technical book (cross-references, indexing, etc) is unlikely to be implemented in markdown. Especially since, in this context, pandoc's approach of converting the document to LaTeX doesn't help: we're still stuck with LaTeX's limitations!
It would be interesting if some of these lightweight alternatives --- pandoc, org-mode, etc --- would target TeX and handle the LaTeX functionality themselves. It would obviously be more work, but it might lead to something self-contained and distinct.
It gets you about 90% there according to my 150 page so far PhD thesis. And a whole world of pain that I no longer have to worry about, so I can concentrate on the incredible pain of writing the last 50 pages.
I've had great success with org-mode compiling down to LaTeX for Crypto 101 (https://www.crypto101.io).
I think the original author's points have merit: for example, the error messages are horrid, and in my case it's certainly not helped by adding another layer of indirection. But, I also fully agree with you: it's still better than everything else!
LaTeX is not only very extensible, but also, in my experience, very stable. Even typesetting hundreds of pages filled with figures (both rasterized images and vector graphics made with TikZ, which is wonderful by the way), equations, tables, references and stuff, just works.
I do agree on the error messages though. However, so far a search on tex.sx have solved everything. Sure, spending 30 minutes on a bug only to discover a misplaced closing bracket sucks, but to me, that's a tradeoff I can live with.
If anything should ever replace (La)TeX, my bet would be something like Markdown. However, I think it'll take a while... LaTeX has a HUGE community and a large array of packages written for all sorts of features.