사실 우스개로 말씀 하나 드리자면, 제 뼈에 허연 부분은 0이고 나머지 빈공간은 1 입니다.. 후배 하나가 자기 인생 19년을 논할때..
‘인생은 디버깅이 안되요.’라고 말하는 순간, 아, 이놈도 잠시 휴식을 취할때, ‘부팅하고 올께요..’라고 말할 확률이 높은 놈이구나라고 생각 했지요..
자바로 가정을 하니, OS문제와 메모리 침범문제가 사라 지네요. 그럼 주제 납치를 해서 프로그래머 입장에서 이야기를 한번 해볼까 합니다.
>>부모의 상속에 안주하지않고, 남에게 문을 열고 서로 함께 나누었을때 보다 많은것을 얻을수 있었음을, 그리고 그걸 배울수있음을 고맙게 생각합니다.
저는 이 부분에서 프로그래머의 역량의 중요함이 느껴집니다…어느 프로그래머는 assumption이 너무 강해서, 상속시 부모의 input range을 고대로 물려 받게 합니다..즉 input값은 변화가 없다고 가정 합니다. 기존의 input assumption으로 부터 이어지는논리 흐름이라서, assumption을 벗어난 값의 처리는 바로 error이지, 새로운 값으로 인식을 하지 않게 되는 경우가 생깁니다..
또 어떤 프로그래머는 output의 범위를 정해버리고, 결과 값의 표현의 한계 역시 정해 버립니다..예를 들면 if(printable_character) print; 달랑 한줄만 달아 놓아 버리고, else와 else if의 영역은 필요 없다 라고 생각 합니다.
결국 위의 프로그램의 에러는 프로그래머의 assumption과 잘못된 logic에 의한거란걸 프로그래머는 전혀 모릅니다, 마치 알고 싶어 하지 않는것처럼 보일때도 있습니다….오히려, 다른 핑계가 나옵니다. 즉 co-worker들의 0.1초의 공동 작업이 100% 잘못이라는것이지요.
또 프로그래머들은 남의 프로그램을 보고선 평가를 하며, error값이 나올경우에 프로그래머의 자질과, error에 비난을 쉽게 하지만, 자신의 프로그램에 관해서는 한없이 관대하면서, input 의 범위만 정확하다면, 0%의 error라고 소리를 치는것 같습니다. 결국 input값의 범위 자체의 ‘정확성’ assumption이 error의 원인이란걸 모르는것 처럼 보입니다..
Netbeans님께서 언급하신것과 비슷하게, 다른 프로세스와 같은 data영역을 공유하며, pipe를 만들어서, 다른 프로세스의 input자체를 하나의 error값이 아닌, 어쩌면 처리 가능한 input범위로 추가, 처리 하는 펑션 하나만 추가 되어도 정말 좋지 않는가 생각 합니다.
또 결과값이 평소 input과 다르다고 해서, error처리가 아닌, 단지 input의 차이가 갖고온 결과값의 차이점으로 봐주는 관대한 프로그래머들의 시선 변화도 필요 하지 않나 생각 해 봅니다..
근데 일전에, 저에게 강한 댓글을 남기신걸로 알고 있는데, 역시 0 과 1로 승부를 보시는 프로그래머 이신지라, 프로그램의 quality 앞에서 관심을 안보일래야 안보일수 없으신건가요??눼?