I originally got into FP through university. We used HUGS (haskell variant) and the things that really drew me in were the concepts of laziness, and non-shared state. At the time I only had experience with imperative languages, but could see the benefits in terms of scalability (network computing) through the immutable data structures, and having a “pull” style mechanism for consuming sequences, delaying computation until it was actually required.
I dropped FP after that course, and for around next 10 years only did imperative programming. Then Clojure came on my radar via Overtone, and I’ve been into FP again ever since. Wanting to make music with code really drove me to learn clojure.
I originally got into FP through university. We used HUGS (haskell variant) and the things that really drew me in were the concepts of laziness, and non-shared state. At the time I only had experience with imperative languages, but could see the benefits in terms of scalability (network computing) through the immutable data structures, and having a “pull” style mechanism for consuming sequences, delaying computation until it was actually required.
I dropped FP after that course, and for around next 10 years only did imperative programming. Then Clojure came on my radar via Overtone, and I’ve been into FP again ever since. Wanting to make music with code really drove me to learn clojure.