The sibling comment alludes to parsing calendar events (possibly .ical files). In general you need it for any kind of (de)serialization -- and as the recent java deserialization bug[1] (along with similar bugs in python, ruby) illustrates -- even in a mature language, &quot;common practice&quot; might not be &quot;best practice&quot; (everyone <i>should&#x27;ve</i> known that the various uses of blind deserialization was a bad idea -- but that doesn&#x27;t really matter after the fact -- lots of high-profile libraries were completely broken). So &quot;just use a library&quot; might not be possible.<p>Any time you take native objects&#x2F;data and persist them, or marshal them, you need a parser -- or a parser library. That might mean reading some CSV, parsing some XML, reading some YAML, JSON or what-not.<p>Then there&#x27;s configuration that does more than set some variables, like for Nginx, Apache (web server), etc.<p>One might want to have a short-hand for defining templates -- either for general meta-programming, or just to generate a layout-language (eg: html, css). If you&#x27;re doing markdown (or markdown-like) processing, you might want to have some assurances that that&#x27;s <i>all</i> that code <i>can</i> do -- generate html. Or you might want do meta-programming on some higher level, like generating interfaces for some java-beans based on a CSV structure. For more on meta-programming in Java, I recommend (the now slightly dated: <a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;Program-Generators-Java-Craig-Cleaveland&#x2F;dp&#x2F;0130258784" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Program-Generators-Java-Craig-Cleavela...</a> ). It&#x27;s a shame he didn&#x27;t name it as he claims he considered in the foreword: &quot;Program Generators for Fun and Profit!&quot;.<p>And finally there&#x27;s &quot;real&quot; programming languages - full blown DSLs of some kind. Perhaps in an effort to represent some kind of business logic (eg: authorization based on group membership, roles and time of day) in a language that is &quot;safe&quot; -- has no side-effects.<p>[1] <a href="http:&#x2F;&#x2F;fishbowl.pastiche.org&#x2F;2015&#x2F;11&#x2F;09&#x2F;java_serialization_bug&#x2F;" rel="nofollow">http:&#x2F;&#x2F;fishbowl.pastiche.org&#x2F;2015&#x2F;11&#x2F;09&#x2F;java_serialization_b...</a><p><a href="http:&#x2F;&#x2F;blog.codeclimate.com&#x2F;blog&#x2F;2013&#x2F;01&#x2F;10&#x2F;rails-remote-code-execution-vulnerability-explained&#x2F;" rel="nofollow">http:&#x2F;&#x2F;blog.codeclimate.com&#x2F;blog&#x2F;2013&#x2F;01&#x2F;10&#x2F;rails-remote-cod...</a>