<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Maybe a better parallel is that people who write a lot of I/O code in Java are constantly writing InputStream, FileInputStream, etc. Java has been around longer, and after 6 major versions of the Java language, these common and useful classes have not been abbreviated to IS or FIS.<div><br></div><div>I suppose if Terrence chooses ST and I really want to hear myself type StringTemplate more often, I could write class StringTemplate extends ST and use the full name :)</div><div><br><div><div>On Oct 17, 2009, at 11:55 AM, Joseph Grace wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On Sat, Oct 17, 2009, Zenaan Harkness wrote:</div><div>><a href="http://lwn.net/Articles/351422/">http://lwn.net/Articles/351422/</a></div><div>>Just read last month, when Ken Thomson was asked what he'd do</div> <div>>differently about Unix IO api, he would have spelt creat as "create".</div><div><br></div><div>I believe that "creat" vs. "create" and "ST" vs. "StringTemplate" are fundamentally different and even opposing use cases.</div> <div><br></div><div>"creat" is only 1 letter shorter than "create".</div><div>"ST" is a 12 letters more convenient than the hefty "StringTemplate".</div><div><br></div><div>"creat" sees infrequent use, suggesting the name should be explicit (as long as necessary), specific, and self-documenting, and not clutter up the abbreviated namespace.</div> <div>"ST" is essential to use StringTemplate, so it sees frequent use and should be as short as reasonable to declutter the code. It deserves an abbreviation.</div><div><br></div><div>"create" says what it means.</div> <div>StringTemplate is made up and only has special meaning. So "ST" is a made up word with very specific meaning, StringTemplate. It's short, so it implies it deserves heavy use (see point 3, above) and has the benefit of fairly unique spelling (capitalization sensitivity on for searching) as it doesn't exist in the wild (unlike "Template" which may exist in code, or even in English text).</div> <div><br></div><div>So, I would say that while "creat" well deserves an "e", "ST" does not necessarily deserve a "ringemplate". I would say these are two different use cases, and the same principles actually suggest opposite treatments: longer for uncommon "creat" -> "create", and shorter for ubiquitous "StringTemplate" -> "ST".</div> <div><br></div><div>Bottom Line</div><div><br></div><div>Short implies heavy use, a gateway to a useful, frequently used library. That's what ST should be for its use cases, and the long name negates some of its convenience. And because of its hefty typing load, IMO, "StringTemplate" sends the wrong message to potential users of the StringTemplate.</div> <div><br></div><div>IMO: "ST" >> "StringTemplate".</div><div><br></div><div>= Joe =</div><div><br></div> _______________________________________________<br>stringtemplate-interest mailing list<br><a href="mailto:stringtemplate-interest@antlr.org">stringtemplate-interest@antlr.org</a><br>http://www.antlr.org/mailman/listinfo/stringtemplate-interest<br></blockquote></div><br></div></body></html>