Из Программирование на Scala (второе издание) , внизу стр.98:
Сбалансированное отношение для программистов Scala
Предпочитают значения, неизменяемые объекты и методы без побочных эффектов. Сначала доберитесь до них. Используйте переменные, изменяемые объекты и методы с побочными эффектами, когда у вас есть конкретная потребность и обоснование для них.
На предыдущих страницах объясняется, почему следует отдавать предпочтение вальсам, неизменяемым объектам и методам без побочных эффектов, поэтому это предложение имеет смысл.
Но второе предложение: «Используйте переменные, изменяемые объекты и методы с побочными эффектами, когда у вас есть особая потребность и обоснование для них». не так хорошо объяснено.
Итак, мой вопрос:
В чем заключается обоснование или конкретная необходимость использования переменных, изменяемых объектов и методов с побочными эффектами?
Ps: Было бы здорово, если бы кто-нибудь мог предоставить несколько примеров для каждого из них (помимо объяснение).