Easily my vote for the most unweildy named concept in software development.
It always reads like a typo of memorization. Not exactly an accident, of course. Memorize is memory + -ize, while memoize is memo + -ize, and memo is short for memorandum, which comes from memory. Both terms refer to some kind of storage and retreival of information. The similarities are deliberate.
My gripe with it is that memo in my head exclusively refers to a one-paragraph email sent to my company to notify me about something. Not remembering something. Definitely not the very specific case of linking input parameters to results of pure functions.
So we have this made-up word that looks suspiciously like an existing word that is related and means something related but is not the same thing, and the words it is actually adapted from don't mean the thing it's supposed to mean. Thanks, I hate it.
Really ought to call memoization what it what it really is. Lazy-loaded lookup tables.
Memoization
Easily my vote for the most unweildy named concept in software development.
It always reads like a typo of memorization. Not exactly an accident, of course. Memorize is memory + -ize, while memoize is memo + -ize, and memo is short for memorandum, which comes from memory. Both terms refer to some kind of storage and retreival of information. The similarities are deliberate.
My gripe with it is that memo in my head exclusively refers to a one-paragraph email sent to my company to notify me about something. Not remembering something. Definitely not the very specific case of linking input parameters to results of pure functions.
So we have this made-up word that looks suspiciously like an existing word that is related and means something related but is not the same thing, and the words it is actually adapted from don't mean the thing it's supposed to mean. Thanks, I hate it.
Really ought to call memoization what it what it really is. Lazy-loaded lookup tables.