brunch

You can make anything
by writing

- C.S.Lewis -

by zwoo Jul 14. 2019

함수의 미래지향성

f(x)는  y 가 될 거라는 확신은 어디서 온 걸까?

코딩을 하면서 통계, 특히 수학의 힘을 많이 느낀다.

    

오늘은 함수에 대해 이야기해보고 싶다. 'f(x) = y'. 함수라는 이름의 상자에 들어가기만 하면 x가 y가 되어 나오는 마술. 얼마나 많이 넣든, 얼마나 오랫동안 넣든 우리는 x가 f()를 거쳐, y로 요리되어 나올 것임을 안다. 태어난지 10년 정도만 지나면 함수를 배우는 우리는 함수적인 사고방식에 이미 너무나 익숙하다. 그런데 애초에, 함수가 없었던 시절 처음 함수개념을 사용한 수학자들은 어떻게 방정식을 통해 미래에 내가 예상한 결과가 도출될 거라는 확신을 가질 수 있었을지, 무척 궁금하다.


함수 Function(x) 라는 식은 참으로 미래지향적이다.

Def function(x):
      print(x ** 2)

   

우리는 function()이라는 함수의 x 값에 무언가를 넣을 것이고, 제곱값이 나오기를 기대할 것이다. 함수의 위력은 복잡한 식에 커다란 수를 집어넣을 때에 발휘된다. 아무리 큰 수라도, 아무리 복잡한 식이라도, 코드에 에러가 없는 한 반드시 답이 도출된다는 확신을 가질 수 있다. 그렇게 크고작은 공식들을 잘 엮어서 우리는 자동차도 만들고, 우주선도 만들었으며, 스마트폰으로 온갖가지 활동들을 하게 되었다. 함수는 지금껏 인간에게 미래를 선사해준 힘이다.


list = [ ]
                 for i in range(100):
                      list.append(i)
               print(list)


list 라는 이름의 빈 리스트를 만들고, 0부터 99까지 100개의 숫자 i 에 대해서 list 안에 하나씩 추가(append)한다. 그 다음 list를 출력해보면 0부터 99까지가 담겨있다. 코딩 함수를 배우면서 이 지점이 가장 인상깊은 부분이었는데, 아무런 값도 담겨있지 않은 빈 리스트를 만들고, 그 list에 append() 함수를 걸어둔 후 for문이 여러번 돌면서 리스트에 숫자를 하나씩 담아줄 것을 기대한다는 사고방식이 초심자 입장에선 기이하게 보였다. for문이라는 기능을 오늘날에는 코딩을 조금만 배운 사람이라면 자유롭게 활용한다. 하지만 먼 옛날 사람들에게는 직관적으로 와닿지 않았을 것임이 분명하다. 인간의 사고는 보통 상자에 물건을 한꺼번에 담고, 그 일이 다 끝나면 물건이 담긴 상자를 한번에 배달할 방법을 궁리하니까 말이다. 편지를 자전거로 배달하던 배달부도, 큰 트럭에 택배를 실어 배송하는 택배원들도 보다 큰 공간에 짐을 담아 효율적으로 옮길 궁리를 하지, 물건을 하나씩 담아서 차근차근 배달할 생각은 하지 않는 게 정상이다.


아마 코딩의 함수는 아주 크고 긴, 연속된 활동들을 제어하는 데에 적합한 듯하다. 미래를 생각하고 함수를 만들어두면 아주 커다란 꾸러미도 잘게 쪼개 찬찬히 확실하게 배달된다는 확신을 가질 수 있다. 또한 어렵게 궁리해낸 하나하나의 개별적인 함수들은 점차 인간의 뇌에는 숫자와 마찬가지로 하나의 데이터로 저장되어,  그것들을 자유롭게 엮어 더 커다란 일을 도모할 수 있게 된다. 가령 위에서 작성한 for함수의 n 자리에 아주 커다란 수가 들어가더라도 그것은 10000000000... 개의 숫자가 도출되는 커다란 무엇이 아니라, ‘1부터 n까지 도출해주는 함수’라는 하나의 데이터 단위로 인식되는 것이다. 이 새로운 ‘수단’의 힘은 어마어마하다.


보자기에 싸서 들고다니던 도시락을 대량으로 배달시키고, 크고 힘이 좋은 엔진을 가진 우주선에 우주인과 함께 수많은 장비를 담아 먼 우주까지 날아가는 오늘날을 있게 한 것은 바로 함수적인, 미래지향적인 사고였다. 인간은 불확실한 세상에서 확실한 것을 만들어냈다. 그리고 이 확신이 모여 인류는 지리적, 시간적 한계를 극복할 수 있었다. 우리가 뭔가에 시간과 노력을 들이며 그것이 언젠가는 어느 정도 성과를 낼것이라고 생각할 수 있는 것도, 다 함수적인 사고방식에 익숙해진 덕분이다.



zwoo 소속 직업 개발자
구독자 200
이전 02화 요즘 애들은 다 프로그래밍을 한다더라
brunch book

현재 글은 이 브런치북에
소속되어 있습니다.

웹을 그리는 작가

매거진 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari