나의 이야기/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 머리
나의 이야기/Note2007. 8. 29. 01:01

  부산대 공과대학 정보컴퓨터공학부, 현재 내 소속이다.


  여기서 뭐를 배우냐고? 나는 잘 모르겠는데 이 과를 의외로 모르는 사람이 많다더라. 예를 들면 우리과에서 워드프로세서 다루는 법을 배우는 줄 안다던지..


  솔직히 말해 이과를 원해서 들어왔으면서도 여기서 뭘하는지 나도 잘 모른다.  다만 지금 배운걸 이야기하자면 물리,수학, 문제 해결 기법 그리고 앞으로 2학기때 배울 C랑 전기회로 이정도? 영어랑 교양은 일단 빼놓고. 얼마 전에 민제 선배 스터디 하면서 들은 이야기로는, 우리과를 나오면, 컴퓨터와 관련된 곳이라면 어디든지 달려가서 작업할 수 있는 엔지니어가 된다고 한다. 단순히 우리과에서 프로그래머를 양성한다고 생각했던 나로서는 나름 큰 충격이였다. 물론, 공과대학이니 물리, 수학 같은 것을 프로그래밍 할때도 필요한 것이니 당연히 배운다고 생각했지만, 그것을 프로그래밍 작업의 일부라고 생각했던 것과는 다른 개념이였다. 엔지니어라.. 이 과에 들어와서 막연히 프로그래머가 되어야지 생각했던 나로서는 오히려 프로그래머가 아닌 다른것으로 빠질수 있겠구나하는 실망감보다는 좀더 넓은 곳이였구나하는 기대가 더 컸다.

 

  그럼 이전에 생각했던 프로그래머라는 것에 대해 이야기해 보자. 나도 당장 실무에 들어가 본 적이 없으니 어떨지는 모르겠지만, 대학 와서 내 나름대로 공부해 보면서 생각해본 것들을 정리해 보면, 일단 프로그래머를 지향해서 컴퓨터 관련 학과를 나왔다고 해서 어릴적부터 생각해온 멋진 프로그램을 설계하고 학교에서 배운 지식으로 멋진 기법으로 코딩하는 그런 '프로그래머'가 된다는 생각은 바뀌었다. 즉 컴퓨터 공학도라고 프로그래머가 된다는 이야기는 아니란 이야기다. 물론 그런 사람이 되도록 교육은 받겠지만, 실무에 들어서면 프로그래머와 코더의 차이는 분명히 들어난다고 한다. 정말로 머리를 써서 아이디어를 내고 그것을 기획하는 사람과 그것을 인계받아서 손으로 짜기만 하는 사람들은 따로 있다고.. 그것이 프로그래머와 코더의 차이라고.. 음.. 내가 말하는 이런 것들이 옳지 않을 가능성은 매우 높다. 다만, 내가 나름 공부하고 돌아다니면서 해본 생각을 정리해 본 것이 이렇다는 것이다. 하지만 이런것은 분명 존재할 것이다. 그것을 가르는 것은 능력..(좀 암울하게 이야기하자면 대한민국에서는 학벌)



   그러면서도 컴퓨터 공학도가 배워야 할것은 참 많다.. 뭐 공과대학적 지식은 물론이고, 어느 블로그 기사에서 본 이야기로는 프로그래머 내지는 코더도 12개 정도의 언어는 기본적으로 읽어서 무슨 말인지는 알아야 하고, 3~4개 정도의 언어는 완벽히 다룰 줄 알아야 한다고 한다. 물리, 수학의 비중이 적은 우리 과는 이런 쪽에서 알아야 할게 많다.. 이렇게 생각할 수도 있겠다. 내가 하고 있는 언어는 지금 뭐뭐가 있지.. VB, C, C++, C#, JAVA,흠.. 생각보다 많진 않네..

Posted by 머리