So You Want to be a Functional Programmer (Part 1)
Charles Scalfani

Great article!

The side effects was something confused to me when I learned programming languages years ago. I think there is a good explanation about it which is

Let say we have statement like y = f(x) where f is either a function or an object.

  • The f is immutable/functional/has no side-effect when, given same x, y will be same no matter what time it is
  • The f is mutable/non-functional/has side-effect when, given same x, y may be different if f’s state has changed