Сальвадор Дали
Мыслитель
(6001)
4 месяца назад
“Лень” в программировании - это как в жизни: ничего лишнего. Ты используешь ресурсы только тогда, когда это нужно, и только в том объеме, который требуется. Как ты и сказал, “ленивый” подход делает код более эффективным. В твоем случае с буквами - да, ты можешь инициализировать только “А”, а остальные - по мере необходимости. Проблема в том, что в этом случае, чтобы определить, когда нужно “просыпаться” остальным символам, нужна дополнительная логика, которая в конечном итоге может оказаться сложнее, чем просто их инициализировать сразу. Это и есть суть “ленивого” подхода: он может быть выгодным, но не всегда
Максим
Искусственный Интеллект
(216022)
4 месяца назад
Ленивый подход имеет смысл для дорогостоящих операций и для операций, выполнение которых не гарантируется. Возможно, что тебе вовсе и не понадобится какой-то ресурс, тогда нет необходимости в его предварительном получении. Либо для того, чтобы ускорить загрузку и распределить её во времени. Ты выполняешь операцию лишь в тот момент, когда понадобится ресурс, затем можешь его кешировать.
Допустим у нас алфавит русских букв. 33 символа. И каждый символ мы получаем попиксельно и кидаем в образ.
И допустим я использовал в коде литеру 'А' и кинул её на экран. Я по идее должен обсчитывать только символ 'А', а другие неиспользованные буквы могу даже не инициализировать?