Hacker News new | ask | show | jobs
by returningfory2 819 days ago
Having studied a lot of the TeX source code and re-implemented portions of it, my theory is that it's the result of the TeX language evolving organically in a software development environment in which large scale refactoring is impossible. (Knuth didn't have source control, or unit tests, and the language he wrote TeX in has little-to-no support for meaningful abstractions. All of these make refactoring safely hard or impossible.) If you can't refactor, but still want to add a new feature, your only option is to implement things in a hacky way on top of existing features. This then bleeds into the TeX language itself.