Человек, который пишет на ФУНКЦИОНАЛЬНОМ языке - должен ПОНИМАТЬ - обеспечивает ли "его язык" оптимизацию "хвостовой рекурсии"? Или не должен?
ДОЛЖЕН ли он понимать - обеспечивает ли "его язык" кеширование результатов вычисления функций? Или не должен?
Должен ли он вообще задумываться о "таких деталях реализации" "его языка"? Или не должен?
Напишет ли он эффективный код, если не задумывается об этом?
Вопросы - ОТКРЫТЫЕ.
ДОЛЖЕН ли он понимать - обеспечивает ли "его язык" кеширование результатов вычисления функций? Или не должен?
Должен ли он вообще задумываться о "таких деталях реализации" "его языка"? Или не должен?
Напишет ли он эффективный код, если не задумывается об этом?
Вопросы - ОТКРЫТЫЕ.
В идеале - не должен. На практике - не должен до тех пор, пока не столкнётся с "плохой" работой программы. Т.е пока она не начнёт отжирать память и тормозить. Тут уже можно думать об оптимизации, но не раньше. Преждевременные оптимизации здесь - зло.
ОтветитьУдалитьЭто всё такие мелочи -- хвостовая рекурсия, мемоизация...
ОтветитьУдалитьЧего о них думать-то?