-
두달간 Clojure/ClojureScript를 써본 후기Web Dev/9. Clojure 2021. 9. 6. 23:43728x90
Clojure/ClojureScript를 쓰는 회사에 와서 함수형프로그래밍을 본격적으로 해보게 되었는데, 두달간 사용해본 후기를 정리를 잠깐 해보려고 한다.
ClojureScript란
(defn func-example [data value] (assoc data [path1 path2] value))
대충 뭐 이렇게 생겨가지고, 괄호 괄호로 생겼고, data가 js로 쳤을때 {:path1 : {:path2 value}} 이렇게 생긴 데이터가 있을때, value의 값을 업데이트 할 수 있는 함수이다. 저렇게 생겨먹은 식으로 뭘 처리하는 언어고, clojureScript는 컴파일해서 JavaScript를 뿜는다. 이걸 두달정도 다뤄봤는데, 후기는 아래와 같다.
함수형 프로그래밍을 빡세게 쓴 느낌
올해 초에 함수형 프로그래밍에 유인동님의 강의를 들으면서 입문했었는데, 그때 뭔소린지 잘 못알아들으면서도 지금까지 해왔던 프로그래밍에 비해서는 확실히 재밌다는 생각을 했었다. 그러고나서는 딱히 실제 프로젝트에 적용은 못했는데(능력부족..) 이번에 함수형 프로그래밍을 하면서 느낀 것은 첨에는 Immutable하게 모든걸 처리한단게 이래도 되나... 싶을때도 있긴하지만 오히려 이상한데서 내 데이터 값을 바꿀리가 절대 없다는게 보장이 되어서 마음이 좀 편한 것도 있었다. 하지만 중첩된 데이터내에서 뭐하나 바꾸려고, assoc-in, update-in 같은 함수를 쓰다보면 첨에는 진짜 골치가 아팠다.
ClojureScript, Reagent, Reframe으로 React앱을 개발하는 느낌
JavaScript로 React앱 개발할떄보다 훨씬 흐름이 자연스럽다. vscode에서 calva익스텐션을 쓰면 함수를 단축키로 뗏다 붙였다, 이동도 하다보니 개발할때 진짜 키보드만 써도 되고, 위에서부터 아래로 읽어내려간다는 느낌으로 개발을 할수가 있다는 느낌.
학습 관련 느낌
느낌인진 모르겠는데, clojure쪽의 문서들은 JavaScript 설명하는 글들보다 엄청 자세하고, 상세하다. 자료의 절대량은 JavaScript보다 훨씬 적지만, 퀄리티는 엄청 좋은 것 같다. 하지만 나는 아무래도 주니어다보니 아직 모르는 부분들이 있다보니 첨에 엄청 헤매고, 지금도 해맨다.
https://www.learn-clojurescript.com/
이책도 좋다.
후기
나는 개인적으로 함수형 프로그래밍이 아직뭔지 잘 모르겠지만, 확실히 개발이 더 재밌어지는것 같다. 러닝 커브가 좀 있다곤 하지만, c언어첨에 말귀 못알아들었던것 생각하면 그리 나쁘지도 않을지도...?하지만 이건 더 하면서 매콤한맛 보다보면 생각이 변할 수도 있을것 같다.
'Web Dev > 9. Clojure' 카테고리의 다른 글
Shadow-cljs란 (0) 2021.09.07