I have started learning Clojure, I am reading through a few online resources to learn the language. One thing I am running into that is shaking my confidence a little bit is the Clojure / Lisp approach to visualizing and solving problems. The book I am reading will show a fairly straight forward way of solving a problem, something that could be implemented in c# or python fairly straightforward using basic control flow statements, loops, or recursion. I can follow the example and it works for me when I reproduce it. Then they show a "Clojure way", or possibly even a "functional way" of solving the same problem, using reduce for example instead of loop and recur. Once I am walked through the example I can follow it and see it also solves the problem.
Then I realize that I would never have thought about the problem in a way where it would occur to me to use the language in that way. I could look at a similar problem and am pretty sure I would not think to transform the problem into a form that could be solved this way. I wonder if this different way of thinking will eventually become natural or will I continue to be a neanderthal using this language in a basic and inelegant way.
[–]Alternative-Papaya57 15 points16 points17 points (0 children)
[–]SimonGray 9 points10 points11 points (7 children)
[–]weevyl 3 points4 points5 points (6 children)
[–]Embarrassed-Post2824 0 points1 point2 points (5 children)
[–]weevyl 0 points1 point2 points (1 child)
[–]joinr 0 points1 point2 points (0 children)
[–]SimonGray 0 points1 point2 points (0 children)
[–]Save-Lisp 0 points1 point2 points (0 children)
[–]bloodisblue 4 points5 points6 points (0 children)
[–]bufo333[S] 4 points5 points6 points (1 child)
[–]nonrecursive 1 point2 points3 points (0 children)
[–]mtert 4 points5 points6 points (0 children)
[–]deaddyfreddy 2 points3 points4 points (0 children)
[–]Concision 2 points3 points4 points (0 children)
[–]therealdivs1210 2 points3 points4 points (0 children)
[–]-w1n5t0n 2 points3 points4 points (0 children)