The wiki for begins with "A hash map (or hash table) is a data structure", implying that the tag has the same meaning as (e.g., it is not intended for labeling the Java classes). Therefore it seems that these should be made synonyms, but as a non-programmer I am not certain if there is some subtle distinction intended (which should be made explicit in the wiki by someone who know the intent).

Since currently has 4,377 questions and only 2,124, it seems that the former should be the canonical tag name.

It seems that there is also a lack of clarity in , which (based on the most recent 15 questions) seems to be used often to refer to the hash table data structure (e.g., in Perl or Ruby).

and would also seem to be synonyms based on the wiki for beginning "A hash function is any well-defined procedure or mathematical function".

Someone with more than half a clue should probably resolve this issue (whether by editing wiki entries to clarify distinctions or proposing the appropriate synonyms).

The first pair is actually even more grey-area than that since Java has both a (legacy) HashTable class as well as the newer HashMap class. –  Brian Roach Apr 26 at 19:15
@BrianRoach I noticed (and noted—"e.g., it is not intended for labeling the Java classes"—one of the recent questions was for the difference between these Java classes) that aspect, which is why I suggested that editing the wiki entries might be an alternative solution. I suspect that the differences are not sufficiently broadly recognized or significant to justify different tags. Using standard class names for tags (even for popular classes in popular languages) is probably not good practice. Perhaps hyphenating the tag would make the distinction clear—I was surprised they were not. –  Paul A. Clayton Apr 26 at 19:31
"Hash table" is the most language-neutral, canonical term (which is why Java chose it originally, of course). The greater popularity of the hashmap tag on SO is only because of Java's influence, and that is only because they needed a non-taken name when they reimplemented the class. –  Boann Sep 30 at 15:04

1 Answer 1

The grey area isn't just between and . In Ruby, the built-in dictionary/map class is called Hash, so 99% of the Ruby questions should probably be instead.

Perhaps itself should be removed since it leads to such confusion. That would leave the much clearer and .

Adding a hyphen might also reduce the confusion with the class names (i.e., [hash-table] or [hash-map]). These tags are not intended to refer to classes. –  Paul A. Clayton Sep 30 at 15:07
Have fun going through about 11000 questions mapped [hash] and applying the better tags. Now, synonymizing hash to hash-function might be useful. –  Deduplicator Nov 2 at 1:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .