함수형 프로그래머가 되는 법 1

이 문서는 https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536#.a6q16nizw 를 번역한 내용입니다.

programmer

함수형 프로그래밍 개념에 대해 이해하려는 첫 번째 시도는 매우 중요하고, 때때로 가장 어려운 단계이기도 하다. 하지만 올바른 관점을 가진다면 그렇게 어렵지 않다.

운전을 배울 때

driving

제일 처음 운전을 배울 때, 우리는 당황하기 마련이다. 다른 사람이 운전을 하는 걸 볼 때에는 확실히 쉬워보인다. 하지만 막상 해보면 우리가 생각했던 것보다 훨씬 어렵다.

우리는 부모님의 자동차로 연습을 한고, 집 근처 길을 마스터하기 전까지는 고속도로에서 운전을 하는 모험을 하지 않는다.

하지만 연습이 반복되고 부모님이 잊고 싶은 끔찍한 상황이 지나가면, 운전이 숙달되고 마침내 면허증을 갖게된다.

면허증이 있으면 아무때나 차를 운전할 수 있게 된다. 자동차 여행을 하면서 운전을 할 때마다 실력은 점점 더 나아지고 자신감도 상승된다. 그러다가 가끔 다른 사람의 차를 몰기도 하고, 결국 자차를 구입하게 된다.

다른 차로 운전을 해봤다고 그냥 쉽게 될까? 운전해 본 경험이 있다고 쉽게 될까? 전혀. 처음에는 모든 게 새롭다. 왜냐하면 우리는 지금껏 운전석이 아닌 좌석에 앉아 있었기 때문이다. 하지만 이제 우리는 운전석이 앉아있다. 모든 조작을 해야하는 그 운전석 말이다.

하지만 보유 중인 또다른 자동차를 운전할 때에는 아무런 괴리감 없이 간단하게 키를 꽂고, 라이트를 켜고, 시동을 켜며, 사이드 미러를 조절한다.

그리고나서 매끄럽게 운전을 한다. 왜 첫 자동차만 어려웠고, 둘째 자동차는 운전이 쉬울까?

That’s because the new car was pretty much like the old car. It had all the same basic things that a car needs and they were pretty much in the same place. 그건 바로 첫 번째 자동차는 너무나 옛날 차 같은 느낌이. 그건 자동차가 가져야할 기본적인 모든 것을 가졌다.

Written on January 1, 2018