»
S
I
D
E
B
A
R
«
설계 vs. 프로그래밍 언어
December 14th, 2009 by Wegra Lee
나는 객체지향 개념을 접하기 시작한 97년부터
모든 프로그램을 짤 때에 설계에 초점을 맞춰왔다.
그래서 자연스럽게
객체지향, UML, GRASP, Design Pattern, Bug Pattern, Refactoring, Aspect-Oriented 등등..
의 개념을 접하게 되었고,
실제로 3개월 정도 설계만 하고 보름 미만으로 코딩해서
제대로 돌아가는 프로그램을 만들어본 경험도 있다.
이리저리하여 난 설계의 중요성을 인식하고 권장하게 되었지만,
이상하게도 주위 다른 사람들은 그렇지 않았다.
처음엔 굉장히 답답하여 계몽(?) 시키고자 노력해보았지만,
설계를 시켜도 도저히 설계라 하기 민망한 수준에서 더 이상 진척이 없었던 것이다.
그러면서도 코딩을 시키면 마음엔 안들어도 그럭저럭 돌아가게는 만들어 냈다.
내게 ‘아하~!’하는 깨달음이 온 것은..
1년하고 조금 더 전쯤..
영어 공부 한답시고 한동안 자칭 ‘영어로 사고하기’ 놀이를 하고 다닌 적이 있다.
그러면서 깨달은 것은 ‘아는 만큼 생각한다’이다.
한국어로 생각하고 영어로 표현하려면 어휘력이나 문장력이 부족해 표현을 못한다.
하지만 처음부터 영어로 생각하면 사고의 범위 자체가 좁고 얕아지는 걸 느꼈다.
나는 남들에게 자신 있게
‘난 Java로 free talking 할 수 있다’고 얘기한다.
그리고 대다수의 배테랑 개발자들은
나와 같은 의미에서 자신의 주 언어로 free talking할 수 있을 것이다.
문제는 설계이다.
UML은 개발 언와와는 또 다른 종류의 언어이다.
하지만 거의 100%의 개발자들은 설계용 언어 보다는
개발용 언어를 먼저 익힌다.
필요에 의해서건, 흥미에 의해서건
설계용 언어를 접할 때는 이미 상당 수준의 개발 경험이 갖춰진 후이다.
그들에겐 낯설은 설계 언어로 사고하는 것은 너무 답답하다.
코드로 작성하면 금방 만들 수 있는 것도
설계 언어로는 어떻게 표현해야할 지 알질 못한다.
영어에 능숙치 못한 한국인이
미국인에게 무언가 얘기는 하고 싶은데
말 못하는 것과 마찬가지 이치다.
결국 설계를 하느니

그 시간에 직접 코딩하는 걸 택한다.

우연히 하드 디스크에서 발견한 글이다. 마지막 수정 시간은 2005년 4월 5일. 무슨 계기로 적어놨는지 기억도 나지  않고, 지금보니 설익은 느낌도 들지만 이곳으로 옮겨놓고 지워버리기로 했다. ^^

나는 객체지향 개념을 접하기 시작한 97년부터 모든 프로그램을 짤 때에 설계에 초점을 맞춰왔다. 그래서 자연스럽게 객체지향, UML, GRASP, Design Pattern, Bug Pattern, Refactoring, Aspect-Oriented 등의 개념을 접하게 되었고, 실제로 3개월 정도 설계만 하고 보름 미만으로 코딩해서 제대로 돌아가는 프로그램을 만들어본 경험도 있다.

이리저리하여 난 설계의 중요성을 인식하고 권장하게 되었지만, 이상하게도 주위 다른 사람들은 그렇지 않았다. 처음엔 굉장히 답답하여 계몽(?) 시키고자 노력해보았지만, 설계를 시켜도 도저히 설계라 하기 민망한 수준에서 더 이상 진척이 없었던 것이다. 그러면서도 코딩을 시키면 마음엔 안들어도 그럭저럭 돌아가게는 만들어 냈다.

내게 ‘아하~!’하는 깨달음이 온 것은.. 1년하고 조금 더 전쯤.. 영어 공부 한답시고 한동안 자칭 ‘영어로 사고하기’ 놀이를 하고 다닌 적이 있다. 그러면서 깨달은 것은 ‘아는 만큼 생각한다’이다. 한국어로 생각하고 영어로 표현하려면 어휘력이나 문장력이 부족해 표현을 못한다. 하지만 처음부터 영어로 생각하면 사고의 범위 자체가 좁고 얕아지는 걸 느꼈다.

나는 남들에게 자신 있게 ’난 Java로 free talking 할 수 있다’고 얘기한다. 그리고 대다수의 배테랑 개발자들은 나와 같은 의미에서 자신의 주 언어로 free talking할 수 있을 것이다.

문제는 설계이다. UML은 개발 언와와는 또 다른 종류의 언어이다. 하지만 거의 100%의 개발자들은 설계용 언어 보다는 개발용 언어를 먼저 익힌다. 필요에 의해서건, 흥미에 의해서건 설계용 언어를 접할 때는 이미 상당 수준의 개발 경험이 갖춰진 후이다.

그들에겐 낯설은 설계 언어로 사고하는 것은 너무 답답하다. 코드로 작성하면 금방 만들 수 있는 것도 설계 언어로는 어떻게 표현해야할 지 알질 못한다.

영어에 능숙치 못한 한국인이 미국인에게 무언가 얘기는 하고 싶은데 말 못하는 것과 마찬가지 이치다.

결국 설계를 하느니 그 시간에 직접 코딩하는 걸 택한다.


»  Substance: WordPress   »  Style: Ahren Ahimsa