Powered by AppSignal & Oban Pro

처음배우는 엘릭서 프로그래밍

처음배우는엘릭서프로그래밍/8-9.livemd

처음배우는 엘릭서 프로그래밍

8.9 큰 힘은 큰 유혹을 낳는다

딕셔너리 타입은 분명 언제든 사용할 수 있는 매우 강력한 도구다. 그리고 동시에 잘못 사용할 수도 있다. 이를테면 구조체가 당신을 어둠의 길로 이끌 수도 있다. 구조체와 그 구조체를 사용하는 함수 하나의 모듈 정의 안에 묶을 수 있기 때문이다. 언젠가 머릿속 깊은 곳에서 활동하던 객체지향 센서가 갑자기 튀어나와 “이것 봐라, 클래스 정의랑 비슷하네?” 하고 속삭일지도 모른다. 그게 맞다. 실제로 구조체(또는 맵)와 모듈을 이용해 객체지향 프로그래밍과 비슷한식으로 코들르 작성하는 것이 불가능하지는 않다

하지만 그런 방식은 별로 좋지 못하다. 객체가 나쁘다는 것이 아니라, 프로그래밍 패러다임이 뒤섞이고 함수형 프로그래밍으로부터 얻을 수 있는 이점들이 흐려지기 때문이다. 그대여, 젊은 개발자여. 부디 순수한 상태 그대로 있어줬으면 한다.

이제 어둠으로부터 당신을 멀리할 겸 분위기를 조금 전환해보자. 다음 장에서는 (타입에 대한 농의라는 탈을 쓰고) 함수와 함수가 다루는 데이터를 분리함으로써 얻는 이점을 이야기한다.