What's in a name?

For my recent projects, I've been using Dist::Zilla and enjoying its very advanced features. The reason I've never used it before? I thought it had a silly name. I still do, in fact, just that I managed to ignore the silliness enough to find out it incorporates some major wins.

Another project I overlooked is KiokuDB. I was looking around for a non-relational/Object-based/Document-based Database (aka NoSQL), and kept overlooking KiokuDB for two reasons; first, KiokuDB is a front-end to several different back-ends, including RDBMS like MySQL and Postgresql, making me unsure whether it is a true object-based DB, or just a glorified ORM, and second, it has a silly name.

It's not that I judge projects by their names, but in the rich plethora of solutions that is CPAN, most searches will bring in such an abundance of results, that if any of those have a silly name, I would probably overlook them first, and return to them only if others fail to meet my needs. And, Larry help me, Perl programmers have a tendency to really hit the silly when naming their work.

From the usual tongue-in-cheek puns (cpanminus, Config::JFDI), to the odd obsession geeks have with Japan (Rakudo, KiokuDB, Kaizendo, to name a few), to downright obscureness (Mojolicious, Dist::Zilla, Starman, Twiggy). It reminds me the time I tried to install LiveJournal through CPAN, and after installing a major continent of modules, the project complained that it can't find "TheSchwartz". I didn't even bother looking that one up.

Mind you, this habit is not reserved to Perl, and is a well-known Unix hackers' tradition of selecting "names that make marketeers wince", but once in a while, I would like to actually know what something does just by its name.

1 Comment

The big advantage of silly names is that they stick in your mind and are easy to find with a web search, so "Dist::Zilla" makes more sense than Module::Distribution::Configuration or whatever.

It's also a way to distinguish a new library or framework from a preexisting similar system (so Rose::* instead of DBIx::YetAnotherORM).

Leave a comment

About Erez Schatz

user-pic Because sometimes you need to bash your head against the wall until either you, or the wall, give up.