גם אני הבנתי שמדובר ב-cache לפונקציות, וזה לא חדש.
למדתי על תכנות משחקים בתקופה של בין 286 ל-586. איך כתבו דברים כמו Wolfenstine המקורי ו-DOOM, לפני מאיצים גרפיים ייעודיים, ריבוי ליבות, OpenGL ושאר ירקות.
 
היית תקופה, שחישובי נקודה צפה היו דבר כ"כ יקר, שבשביל סינוס וקוסינוס השתמשו בטבלה בזיכרון במקום לנסות לחשב.
 
היום מצב החומרה שונה, ויש דברים שמהר יותר לחשב מחדש מאשר לשלוף מ-RAM, אבל עדיין אני בטוח שניתן למצוא מקום לעשות caching לתשובות של חישובים ארוכים במיוחד.
 
אל תשכח שדי הגענו למגבלת מהירות שעון של מעבדים בטכנולוגיה קונבנציונלית, וכל השיפורים במהירות ביצוע היום הם "תכסיסים" של אופטימיזציות, caching, מיקבול וכו'.
 
אז אני לא מבין מה הבעיה הספציפית שלך עם הפיצ'ר הזה.
 
די רפרפתי על המאמר, אבל הקוד שם לא כ"כ מכוער.
הדוגמאות מופשטות בכוונה.
 
ראיתי קוד הרבה יותר מכוער ב-JS בשביל דברים פשוטים הרבה יותר.
וראיתי גם אנשים מתווכחים האם Singleton הוא Pattern או Anti pettern.
 
ראיתי גם וויכוח בין אסכולה קיצונית של "כל שורה היא פונקציה בפני עצמה וככה הקוד מתעד את עצמו" לבין "אפשר לדחוף הכל בפונקציה אחת, ולהפריד רק ברמה גבוהה".
 
כן זה בסה"כ עוד פיצ'ר - עוד כלי. אין בו כל רע, כל עוד תשכיל להשתמש בו מתי שצריך.