Memoization is an optimization technique, I certainly don't use it every day. Be sure you verify you actually get a speedup (especially when using hash-tables for your cache) before you run off and prematurely optimize, as well as understand the trade-off of increased memory and less computation (if it's an actual speedup). As others have pointed out the example of memoizing in the blog is pretty bad. Storing the value in a variable seems like a better choice than in a procedure to me, if your program won't be running over a day.