It's now about 4 years of development that I'm using, hearing, talking about, and implementing hash tables and hash functions. But I really never understand why it's called hash?
I remember the first days I started programming, this term was kind'of cumbersome terminology to me. I never figured out what is it, based on its name. I just experimentally understood what it does and why and when should we use it.
However, I still sometimes try to figure out why it's called hash. I have no problem with table or function and to be honest, they are pretty deductive, rational terms. However, I think better words could be used instead of hash, like key, or uniqueness. Don't key table or uniqueness table.
According to my dictionary, hash means:
- Fried dish of potato and meats (highly irrelevant)
- # symbol (AKA number sign, pound sign, etc.) (still irrelevant, maybe just a mis-nomenclature)
- Apply algorithm to character string (still has nothing to do with uniqueness, which is the most important feature of a hash table)
- Cut food
- Another term for hashish
Does anyone know why it's called hash?