The reason to not create a new template language is because they are a terrible idea that has lived this long since a) most languages lacked a nice multi-line string equivalent, b) XML, a great way to represent markup, did not have first-class support in programming languages.<p>Neither of these are true anymore, so it is time we let template languages go.<p>The essence of templating is string interpolation. That is what ERB, Jade, HAML and similar languages do. ES6&#x27;s Template Strings are fantastic at this. They are multi-line, and they allow interpolation.<p>Even if we supposed that the notion of separation of view and view-logic was a reasonable one, the baggage that a dedicated templating language brings in is simply not worth it.<p>Here are examples of the baggage: 
1) the choice of picking a templating language is almost of a religious nature (HAML vs ERB).<p>2) Custom syntax and needs for each language - the `surround`, `suffix`, and `precede` helpers in HAML.<p>3) Templating languages almost always reinvent programming constructs poorly. Greenspun&#x27;s tenth rule is really apt here:<p><i>Any sufficiently complicated templating language contains an ad hoc, informally-specified, bug-ridden, slow implementation of a turing complete programming language.</i><p>These days I rely a lot on JSX, which is rigorous and catches errors, thanks to compile-time parsing, and well-integrated into the language so that I can use programming language abstractions without wringing them through ill-defined extension points in a templating language.