Rob Pike explained his understanding in a now-dead Google+ post back in 2012. The use of
.. had appeared in early versions of the Unix file system, as a quick way to navigate around. They would appear when using
ls to view the contents of a directory so a line was added that ignored anything where the first character was a period.
This, of course, meant that any files starting with a
. were also hidden and so began years of bad practices. Rather than think “Where should I store my configuration folder”, the easy option became storing a dotfile instead. It may be messy but if no one can see it, is it really so bad?
Rob also points out that configuration could just as easily be stored in
$HOME/lib as was the case in Plan 9. He doesn’t dispute that dotfiles have their uses but emphasizes that the file itself serves the purpose. Prepending a dot does not a configuration file make.