[프로그래밍 조언] 경계를 벗어나는 연습을 하라

프로그래밍/프로그래밍 메모장 2006/08/22 13:00
경계를 벗어나는 연습을 하라
2006년 8월 어느날. 정확한 날짜 기억못함.  by Xevious7
http://www.xevious7.com

<< 약간 다른 문체과 형식으로 써봅니다. >>

때는 바야흐로 인터넷의 태동기 PC통신의 절정기  94년 쯤의 하이텔 모 S 동호회
게시판, 피터지는 논쟁이 일어나고 있었다.

그 논쟁의 주제는 바로

Top-down 과 Bottom-Up 방식에 대한 것이였다. 이것이야 말로 해묵은
주제이며 내공이 약한 하수들이 게시판에는 피를 토하고 죽어버리는 전장과 같은
설전과 논리와 반박이 이어지고 있었다.

문제의 발단 OS를 만들고자 하는 소그룹에서 이루어졌다. 그리고 이 소그룹의
진행방식에 대한 하나의 글이 올라오면서 발단된 논쟁이었다.

일단  이 두가지 방식에 대해서 잠깐 이야기 해보자.

탑 다운(Top-down)방식이란 무엇인가?  대부분 이 블로그에 오는분들의
수준을 고려해서 패스하자.!!
(패스 넘겨준다는 본연의 뜻으로 건너뛴다라는 의미로 쓰여짐)
그래도 이 블로그의 고전테마인 복습을 지키기 위해서 짧게 말해본다.

단순하게 말하자면, 어떤 소프트웨어를 만들때
전체적인 큰 부분에서 작은 부분으로 점점 나누어져서 구성하는 방식을
탑-다운 방식이라고 한다. 반대로 작은 부분을 만들어 모아서 구성하는
방식을 바텀업 방식이라고 한다.

좀 다르게 말하자면  큰 디자인을 먼저하고 세세한 디자인을 가는 방식을
탑-다운이라고 하고  세세한 구현으로 부터 큰 것을 만들어 가는 방식을
바텀업 이라고 말할 수 있다.

논쟁의 촛점은 바로 그것이었다.
한쪽에서는 디자인을 중요시하고 한쪽에서는 실제 구현을 중요시 하는 설계시각의
차이가 그 두그룹을 치열하게 대립시키고 있었다.

더 깊게 들어간다면 , 드라이버를 어떻게 구현하고 어떻게 만들고 하는 그러한
부분의 기술과 지식이 훨씬더 중요하다고 말하고
또 한쪽은 그 부분보다는 전체적인 추상적 개념이 중요하다고 말하는 것이다.

결론은  있지 못했고 이 논쟁으로 인해서  소 그룹은 사라졌다.


시간이 흘러서 , 경계를 벗어나서 보니 갑자기 한동안 신문에서 수년에 걸친
추상화와 일반그림에 대한 시각차이로 서로 설전을 벌인 두 미술교수님이
이야기가 생각났다.  웃긴것은 추상화만이 바로 예술이다라고 한 교수님의
넥타이는 장미가 그려진 넥타이요. 추상화는 예술이 아니다라고 한 교수님의
넥타이는 격자의 추상무늬가 그려진 넥타이였다는 것이다.

완전히 바텀업으로 한다고 해도 결국 전체적인 모습이 들어가 있지 않고는
그것들을 서로 조립하지 못할 것이다.
마찬가지로 탑-다운이라고 해도 맨 밑단의 모듈을 구성하지 않으면 완성이
되지 않는 것이다.

경계를 벗어나면 그 둘 모두가 어울려져 있다는 것을 알게 된다. 그 둘이 모두
필요하고 그것을 적절하게 조화하는 것이 바로 올바른 방식이 되는것 이다.

그러나 여전히 그 원의 가운데에 선을 긋고 한쪽에서만 서서
구현이 중요하다만 외치는
또는 설계가 중요하다만 외치는 사람들이 항상 존재한다.

진짜 고수가 되고 싶다면 , 경계를 벗어나는 연습을 하라.

PS. 여기서 말하는 탑-다운과 바텀-업은  프로그램 설계와 구현에 대한 것을
의미하며 다른쪽에서 쓰이는 것과는 틀립니다.
top

◀ PREV : [1] : .. [4] : [5] : [6] : [7] : [8] : [9] : [10] : [11] : [12] : .. [15] : NEXT ▶