나의 이야기/Note2007. 8. 29. 01:06

테크트리?

  스타 테크트리 가지고 흉내내는 속어다. 뭐 간단하게 말하면 자기가 프로그래밍 공부를 어떻게 해왔냐는 말이다. 주로 언어 관련 순서를 나타내고, 가끔씩 자료구조, 알고리즘,이산수학 이런것도 넣기도 하더라. 음.. 나는 언어를 이런식으로 익혀 왔다. VB -> C -> C++ -> C#,JAVA 물론 사이사이에 API,MFC 이런것들도 중간 중간에 끼어 있다. 뭐 어느것 하나 제대로 알고 있는건 아니지만 나름 뭔가 하고 있다고는 생각하고 있다.


  초등학교 3학년 때, 컴퓨터 입문 책 부록에(그 당시에는 부록 CD를 주면서 온갖 유틸리티를 담아 주곤 했었다.) QBASIC이 들어 있었다. 그리고 부록 CD 설명에 '프로그래밍 도구인 QBASIC이다.' 이렇게 적혀 있었는데, 이것이 프로그래밍이라는 단어를 알게 된 계기였다. 즉, 무슨 프로그램 돌아가는게 신기해서 '아~ 나도 이런거 한번 만들어 보고 싶다' 이런 생각은 하지도 않았다는 것이다. 그래서 그떄 컴퓨터 가르쳐 주시는 선생님한테 물어보니 아직은 어려워서 못한다고 하시더라. 근데 이상하게 그때 그게 그렇게 하고 싶었나보다. 나름 파워포인트의 링크 기능갖고 내컴퓨터 불러오고 탐색기 불러오고 한글 불러오고 하는 기능으로 (지금 생각하면 참..) 꺠작대고 하는걸 보고 나에게 던져 주셨던게 Visual Basic 5. 그래서 그때 멋도 모르고 동네 서점가서 VB책 두꺼운거 하나 사와서 혼자 이것 저것 해보고 했었다. 그 책이 현재 내 보물 1호, Visual Basic Programming Bible Ver 5. 수도 없이 읽어서 지금은 완전 너덜너덜해 졌지만 그래도 반도 아직 모르는 책이다. 그 이후에 중학교전후에 C를 배운 적이 있었는데, 그 때는 정말 아무것도 모르고 배웠을 것이다. 단지 VB랑 비슷했던 기본 문법 사항들만 가지고 놀았고, 함수,포인터 이런거는 사용할줄도 몰랐을 것이다. 더군다나 그 VB의 RAD툴에 익숙했던 꼬마가 콘솔가지고 놀아 봐라. 얼마나 몰라도 몰랐겠는가.

  그 후 중학교때까지는 거의 VB만 가지고 놀았다. 그게 지금 생각하면 나에게 독과 약 둘다 되었던 것 같다. 득이 되었다면 윈도우 프로그래밍을 좀더 쉽게 접글할 수 있게 되었다는 것이고, 독이 되었다면 쉬운것만 찾아서 그리 실력이 크게 늘지 못했다는 것. 아마 당시에 C로 시작했으면 반대의 상황이 되었을지도 모르지만 그렇다고 VB먼저 시작한게 후회되지는 않는다. 오히려 더 마음에 든다.

  고등학교때는 컴퓨터를 거의 접었었고, 대학교 붙고 나서 미치도록 C 공부를 했었는데, 그떄 실력이 제일 많이(들인 시간에 비해서) 늘은 것 같다. 이미 기본적인 문법은 거의 알고 있었고, 경험도 거의 10년 가까이 얕게 했든 깊게 했든 나름 이것 저것 만들어 보느라 쌓여 있던 덕인지 머리쓰는 부분에서 막히는 일은 별로 없어 포인터 같은 난해한 개념 이해하는데 시간을 많이 들일 수 있었다. 이때쯤에야 겨우 프로그래밍에 대한 윤곽이 잡히기 시작했다. 솔직히 그 이전까지만 해도 나는 함수같은것은 뭔지도 몰랐다. 이미 VB에서 프로시저가지고 줄기차게 써먹어 놓고도 뭔지 몰랐다는 것. 그런 것들이 뭔가라는 것이 머리가 어느정도 크고 나니 잡혀 왔나 보다. 그 이후에 C++배울때는, 정말 단기간(거의 2달도 안대서) 대충 사용할수 있게 되었다. 뭐 나름 시간투자를 한 이유도 있었겠지만 C++하면서부터는 VB의 객체사용 경험이 있어서 그런지 이해가 빨리 된 듯 했다. 지금은 C#이랑 JAVA 간간히 어깨넘어 익혀 보면서 자료구조랑 알고리즘 파고 있다. 그런 쪽의 경험은 나한테도 절대적으로 부족하니까.

  지금 생각하면 지금 동기들이 밟고 있는 테크트리랑은 많이 다르다. 시작한 언어 자체도 다르니까.. 하지만 이렇게 생각한다. '무슨 언어를 배우든 나중에는 다 비슷비슷하게 보일것이고, 문법을 떼는게 문제가 아니라 머리쓰는법을 익히는게 문제다.' 개인적으로 문제해결기법시간에 김경석 교수님이 가르쳐 주시는 취지는 잘 알겠는데, 그게 성공적이지 못한게 참 아쉽다. 어떻게 돌아가는지만 생각할수 있으면 문법이야 금방 하니까 문제가 아닌데..뭐 근데 당연한 결과일 것이다. 머리쓰는건 눈에 안보이는 결과물이고, 문법은 당장 눈에 보이는 결과물이니까.

  흠... 대충 두서없는 말은 이쯤하고, 개인적으로 다시 공부하라 하면 이런식으로 공부해보고 싶다. C->자료구조,알고리즘 -> C++ -> VB -> API -> MFC -> 쭈욱.

Posted by 머리