위로 아래

예전에 한참 소설 합평을 다니면서 열심히 소설을 쓸 때가 있었는데,

내가 들은 가장 많은 지적은 다음과 같았다.

"인물들이 너무 입력받은 대로 움직이는 로봇 같아"

 

그 당시엔 단순히 내가 인물을 만드는 능력이 부족한 것이라 생각했었다.

그러나 요즘 프로그래밍 언어들을 배우면서 생각이 달라졌다.

나는 그냥 내 사고 방식과 비슷한 인물들을 만들고 있던 것이다.

 

나는 요청이 들어오면 그것에 대해 로직을 짜고 행동을 출력한다.

예를 들어,

 

친구 : 나 내일 7시까지 집에서 나가야 돼.

나 : 입력할 정보 X 

 

친구 : 나 내일 7시까지 집에서 나가야 되는데, 너 일어나 있으면 나 좀 깨워주라.

나 :

int time;

if(time=7){

  if(me = awake)

    me.wakeUp(친구);

 

이런 식으로 일반 정보가 들어오면 머릿속에 담지 않는 것이다.

그 이유는 이전에 썼던 뇌의 메모리 할당과 비슷하다.

당연히 불필요한 정보까지 머릿속에 다 담아버리면 중요한 일을 처리할 때 연산이 느려진다.

 

이런 사고 체계를 가지고 있으면 로직의 마지막 부분인 출력과 동시에 해당 프로그램이 종료된다.

종료된 프로그램의 정보 또한 가지고 있을 필요가 없으므로, 메모리를 항상 확보할 수 있다.

 

단점도 찾을 수 있는데, 위의 예시와는 다르게 사실 모든 코드는 반복문에 쌓여 있다.

예를 들어, 오늘 자바 공부를 2시간 하려고 했다. 

while(true){

  int time;

  boolean study = false;

  if(me.studyJava == 2){

    study = true;

  } else {

    console.log ("공부해야 되는데...");

  }

  if(study==true) break;

}

 

이런 식으로 해결되지 않으면 무한 반복문에 빠질 수 있다는 것이다.

그러나 모든 것에는 장점과 단점이 있듯이, 이 문제에도 장점이 있다.

무한 반복문에 빠지지 않기 위해 스스로 한 약속은 지키게 된다는 것이다.

 

아무튼, 개발 공부를 시작한 이후로 안목이 넓어지고 관점이 확장되는 것이 느껴지다.

그전보다 나에 대해서 더 잘 이해하고 있다. 

나는 더이상 내가 만든 인물들이 부족하다고 생각하지 않는다.