본문 바로가기

하루 일기/2009 Diary

학교 실습실, 여러분은 어떤 프로그래밍 툴을 사용하시나요?

개강을 한 지가 바로 엊그제 같은데, 학교는 벌써 연고전 분위기로 후끈 달아오르고 있고, 시간은 흘러 벌써 개강 2주째를 맞이하고 있군요. 이번 학기에는 3과목을 신청해 듣고 있고, 자바와 C 프로그래밍 실습조교를 병행해 하고있기에 조금 바쁜 한 학기가 될 듯합니다.

C 프로그래밍은 이번에 처음 맡게된 수업인데, 알아보니 우리학과가 아니라 임상학과 학생들이 교양으로 듣는 수업이군요. 들어갔다가, 여학생들이 대부분이길래 깜짝 놀랐습니다. 뭐, 그리 놀랄만한 일인가 하실지도 모르지만, 평소 실습을 하면 반에 여학생이 1명 있을까 말까인데, 10명을 넘어서니 긴장을 안할수가 없군요. 다행히 인사도 잘 받아주고 나름대로 재미있게 수업을 끝마쳤습니다.

그런데 다음 수업 계획을 짜다보니, 한 가지 문제가 걸리더군요. 바로 프로그래밍 툴인데요, 현재 학교에서 사용하는 툴은 비주얼 스튜디오 6.0 버전으로 최근의 C 언어를 배우기엔 조금 부족한 감이 있습니다. 최근의 C라는 말이 좀 어색하게 들리실지도 모르겠지만, 영어나 한국어가 발전하고 있듯이 C 언어도 발전하고 있습니다. 예를들어 Hello라는 말은 10년전에도, 10년후에도 '안녕'이라고 쓰이지만, '블로그',' 트위터'와 같은 신종어들은 10년전에는 한 번도 들어본 적이 없는 단어들입니다. 하지만 웹이 진화하고 다양한 서비스가 구축되면서, 지금은 이 단어를 모르는 분이 없지요.

마찬가지로 C 언어도 많은 변화를 겪어왔습니다. 86년도에 C86 표준안이 정해지고, 87년에는 비주얼 스튜디오 6.0 버전이 출시되면서 C는 보다 적극적인 대중화의 길에 들어서게 됩니다. 이후 C 언어는 웹, 객체지향과 같은 여러가지 개념들이 보다 명확하게 구체화되면서 더 많은 기능을 정의할 수 있도록 발전에 발전을 거듭하게 됩니다. C90, C95 그리고 C99 표준안이 연이어 발표되었고, 표준안에 맞추어 프로그래밍 툴 또한 버전업을 계속해 왔습니다. C99 표준안은 비주얼스튜디오 닷넷 버전에서부터 지원되기 시작하였다는군요. 큰 틀안에서의 차이는 없지만, scanf 대신 scanf_s 명령어를 사용하는 등 세부적인 면에서는 일부 명령어가 변경되었습니다.

학생들의 입장에서 20년 전 프로그래밍 툴을 아직도 실습 시간에 사용한다는 것은 무척이나 불행한 일입니다. 그래서 이를 대체할만한 수단을 찾아보았는데, 생각보다 쉽지가 않네요. 먼저 Visual Studio 2008 express 버전은 개인 사용자에게는 무료이지만, 실습실에서는 사용할 수 없다고 MS로부터 공식적인 답변을 받았습니다. 학교 실습실과 같은 공공장소에서 사용하려면 Dream's Park 프로그램에 가입을 해야 될 것같은데, 가입절차가 번거로우니 일단 패스.

비주얼 스튜디오를 제외하고 나니, 오픈소스 기반의 프로그래밍 툴만 남더군요. 하나는 MinGW 스튜디오이고, 또다른 하나는 이클립스였습니다. MinG 스튜디오는 GDB 디버거에 자체적으로 MinGW컴파일러를 포함하고 있기 때문에 설치도 간편하고 사용하기도 편했습니다. 그러나 인터페이스 부분이 부실하고, DB와의 연동이나 CVS와 같은 버전관리 기능을 추가하기에는 조금 아쉬운 면이 있습니다.

이클립스는 예전에 별도의 플러그인을 설치해야 되었는데, 최근에는 C 프로젝트를 생성할 수 있는 통합버전이 나오고 있습니다. 물론 JDK와 MinGW 컴파일러를 추가로 설치해야 한다는 번거로움이 있지만, 확장성면에서는 가장 이상적인 프로그램이라 생각하네요. 라이선스도 GNU 기반의 EPL 라이선스라 공공장소 설치에도 문제가 없고요. 하여 이번 학기에는 이클립스로 실습을 해 보고자하는데, 어떨런지 모르겠군요. 일단 이번 주 실습 이후에 글을 이어 보겠습니다.

태그

  • BlogIcon 아크몬드 2009.09.14 23:23

    좀 더 대학생/고등학생들이 편하게 꿈불꽃(DreamSpark)을 누렸으면 하는 바람입니다.

    • 소금이 2009.09.16 01:53

      드림스파크를 이용해볼려고 했더니, 관리자가 신청해야 한다고 하더군요. 정보통신과에 연락하면 가능할 것 같은데, 시간이 좀 많이 걸릴듯하네요;;

  • BlogIcon adnoctum 2009.09.15 23:34

    C/C++ 이면 Dev C++ 도 쓸 수 있을 것 같은데요. 학교에서 실습할 규모라면 g++/vim 조합이 좋을 것 같은데, ms-windows 에서라면 어떨지 모르겠군요. 저도 VC++ 6.0 을 쓰는데요, 쓸데없이 이파일저파일 만들어져서 지저분하다고 생각되기도 합니다. template 쓰면 제대로 지원도 못해주고...

    • 소금이 2009.09.16 01:57

      학교에서는 비주얼스튜디오를 선호하고 있고, 학과에서는 MinGW를 추천하고 있는데, 아무튼 조금 복잡한 형태가 되어버렸습니다. 약간의 버그가 있지만, 일단 이클립스를 먼저 사용해 볼려고요. 나중에 시간이 되면 버전관리 부분도 한 번 가르쳐보고 싶거든요. ^^;

  • bluewing 2009.09.16 01:00

    교양으로 하는 C언어 수업에서 고도의 개발툴까지 필요할까요??? -..-
    기본 프로그래밍 개념(자기 스스로 문제를 분석하고 알고리즘을 세워 if/for 로 분해할 수만 있어도 교양과목 진도로서는 대박일 거 같은데)만 파악해도 될 듯...

    C++빌더를 고려해보셨는지?

    Turbo C++Builder 2006 Explorer
    (http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_res&no=318)

    막강한 C++ 빌더 프로페셔널 버전을 프리로 사용할 수 있습니다. VC++보다는 훨씬...

    • 소금이 2009.09.16 02:03

      터보c 정말 오랜만에 들어보는군요. 제가 학부다닐때 쓰던 툴인데... ^^;
      학생들에게 고도의 프로그래밍툴까지는 필요없지만, 제가 욕심이 많은지라 되도록 최신의 표준을 담은 툴을 학생들에게 소개해주고 싶더군요. 그리고 라이선스 문제도 있어서, 상업적 재배포가 가능하다 하더라도, 공공장소에서의 사용문제는 별도로 검토해 보아야 한다네요. 실습실이라 이래저래 제약이 좀 많은가 봅니다. ^^

  • BlogIcon 파초 2009.09.20 11:44

    전 vc++ 6.0으로 입문하고, 여전히 주력으로 사용하고 있습니다. 개인적인 욕심에서는 최신버전을 사용하고 싶지만, 기존 환경을 따라가지 않으면 축적해놓은 소스코드를 죄다 수정해야 한다더군요.

    그리고 실습용이라면 Dev C++ 가 간단하지 않을까요? 전공도 아닌 교양인데 버전관리까지 가르칠 시간이 부족할 것 같은데요;