Yea. I feel sorry when I am going back to Js/Java, I always do Copy-On-Write instead of mutating existing objects that result in very different coding style in teammate’s eyes.
The most power things I learned from Clojure.
- don’t be complicated, must have a simple solution most of the time
- data centric, most of the program actually are manipulating data
- keep no state whenever possible, in reallife, there is not such thing called Transformer that every part could change.
- don’t let your architectural decision got into your code, they should be separated. e.g. microservice/monolith should not affect how you write code.