예전에 한참 소설 합평을 다니면서 열심히 소설을 쓸 때가 있었는데,
내가 들은 가장 많은 지적은 다음과 같았다.
"인물들이 너무 입력받은 대로 움직이는 로봇 같아"
그 당시엔 단순히 내가 인물을 만드는 능력이 부족한 것이라 생각했었다.
그러나 요즘 프로그래밍 언어들을 배우면서 생각이 달라졌다.
나는 그냥 내 사고 방식과 비슷한 인물들을 만들고 있던 것이다.
나는 요청이 들어오면 그것에 대해 로직을 짜고 행동을 출력한다.
예를 들어,
친구 : 나 내일 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;
}
이런 식으로 해결되지 않으면 무한 반복문에 빠질 수 있다는 것이다.
그러나 모든 것에는 장점과 단점이 있듯이, 이 문제에도 장점이 있다.
무한 반복문에 빠지지 않기 위해 스스로 한 약속은 지키게 된다는 것이다.
아무튼, 개발 공부를 시작한 이후로 안목이 넓어지고 관점이 확장되는 것이 느껴지다.
그전보다 나에 대해서 더 잘 이해하고 있다.
나는 더이상 내가 만든 인물들이 부족하다고 생각하지 않는다.