Not too long ago I open sourced html_sanitize_ex and back then I took a day to think about the name. In the end I decided the most descriptive name would be best to easily recognize the library for what it does: sanitizing HTML strings.
Last weekend I read this on the Twitter:
I think my biggest annoyance with #elixirlang so far is that every library feels the need include “ex” somewhere in their name…— Kyle Decot (@kyledecot) September 13, 2015
I don't think we should be too concerned about this. Yes, this might look a bit pedantic and boring, but I believe it is just a symptom of the early adoption phase of Elixir, because this happened before, when every Ruby lib started with an "R" and every Node project ended in ".js".
This also has it's benefits: suppose you are coding Ruby, JS or PHP by day, and you are really getting into Elixir by night. If you see a library mentioned on Twitter that is called html_sanitize_ex and you can immediately deduce that it's something Elixir related. You click on it, simply because the name is more recognizable as an Elixir package than something more idiosyncratic like, say, "YodaScrubber3000" or "inquisitor".
As always, I do not want to attack Kyle or his tweet with this post. He describes something that is clearly happening at the moment, but it will pass. There was this time in Ruby when most libs had a mandatory "R" prefix. Today, this trend is long forgotten. I am sure Elixir will go the same way (after all, the most popular JSON package is neither json_ex nor elixir-json but poison).
And to be honest, if this Kyle's biggest complaint about the Elixir ecosystem, we as a community have done a pretty good job, haven't we?