News for hackers. Stuff that matters.
Re:Dynamic Progamming: First Principles by Retra on Wednesday October 25, 2017 @12:40AM (#15547519)
Obscure words are very well suited to esoteric subject matter where precision is needed. A particular brand of function optimization is exactly that.
Re:Dynamic Progamming: First Principles by cee_el1234 on Wednesday October 25, 2017 @07:57AM (#15549304)
Indeed... the way information is being organized is specific enough to be given a proper term - memorization indicates just storing things in whatever form
Re:Dynamic Progamming: First Principles by quotemstr on Wednesday October 25, 2017 @05:42AM (#15548726)
What precise meaning does "memorize" denote that "memorize" wouldn't? Sometimes jargon is just jargon.
Re:Dynamic Progamming: First Principles by TuringTest on Wednesday October 25, 2017 @07:04AM (#15549059)
"Memoization" is only used in the context of caching results of previous function calls.

So if you see the word, you instantly know that this is the context. You wouldn't know that if you see "memorization".

Re:Dynamic Progamming: First Principles by jjaredsimpson on Wednesday October 25, 2017 @11:15AM (#15550804)
Exactly. Memorization is the process of committing something to memory. Things like spaced repetition, flashcards, using mnemonics, etc. Memoization is the technique of caching expensive function calls and returning those cached values upon subsequent invocations.

Seeing the word memorize implies a process that an actor is undergoing and says nothing about the data being memorized. Seeing the word memoize implies the existence of an expensive function and implies a process of repeated calls to the function. It also implies the function is pure, i.e. you can't memoize calls to fread().

Re:Dynamic Progamming: First Principles by kbenson on Wednesday October 25, 2017 @04:16PM (#15553762)
Memoization implies caching specifically, which implies its own things, such as cache size and eviction methodology. Not something that's necessarily thought of when using the term "memory".

Memoization is close enough to "memorization" that you pretty much know what it is without having heard of it before and easily rememberable, while being specific enough to the actual concept as to be easily searchable and imply specific concerns of its own. That's a win-win in my book.

Re:Dynamic Progamming: First Principles by lemming on Wednesday October 25, 2017 @05:18PM (#15554365)
Sadly, the older I get the more I am aware of my memory's aggressive cache eviction policy.
Re:Dynamic Progamming: First Principles by kbenson on Wednesday October 25, 2017 @07:28PM (#15555177)
You and me both. :

But that's part of it, you generally don't really associate that with memory until you get older...

Re:Dynamic Progamming: First Principles by khedoros1 on Wednesday October 25, 2017 @01:21PM (#15552017)
I think of memoization in terms of memos. You're leaving memos behind to avoid recalculating, but you're going to throw them out when you have your result; it's scratch paper to refer back to your previous work. The word itself denotes the reason for storing the data.

Memorization makes me think of a repetitive process of committing something permanently to memory.