Pure Functions

The hardest problem in software engineering (aside from choosing which program to write ) is keeping your program simple enough for maintainers to confidently read, understand, and make changes to. This problem is called “ managing complexity ,” and there are lots of famous quotes about it 1 . Managing complexity is easy when a program is small, but it gets exponentially harder as years pass, the…