Как программировать на Java без побочных эффектов?

Будучи давним программистом на Java, а в последние годы пристрастившимся к Haskell, я сейчас изучаю Scala. Мой вопрос:

Как программировать на Java без побочных эффектов?

т.е. Как я могу вручную сделать то, что Scala делает для меня?

Книга Scala от Одерски часто объясняет функциональные концепции в терминах объектно-ориентированной терминологии (например, val = final, if = ternary op.).

Есть ли доступное руководство по программированию без побочных эффектов на Java (как можно меньше)? Я думаю, можно было бы получить многие из известных преимуществ с помощью простой старой Java и немного дисциплины (например, неизменяемые коллекции, конечные значения, жесткие методы, которые не изменяют состояние объекта / приложения).

8
задан Thomas Eding 5 December 2011 в 07:32
поделиться