'개발툴'에 해당되는 글 3건

  1. 2008/04/20 아니 이런코드가 컴파일 되는거? (1)
  2. 2008/04/20 학교는 개발툴 전쟁? (4)
  3. 2008/04/07 비주얼스튜디오 2008에서 VC++ 하기 (학생용) (2)

비주얼스튜디오에서 한글은 가능하단건 알았지만 실지로 한번 전부 한글로 해보았습니다.

소스는 저번 구구단에 대한 얘기를 할때 만든 소스를 사용해 보겠습니다.


#include<stdio.h>

#define 한줄의총커서 72
#define 엑스문자표시총행 16
#define 구구단한계산의글씨량 5

#define 구구단앞숫자 9
#define 구구단뒷숫자 9

void 야너곱하기만해(int x, int y)
{
        printf("%dX%d=%d",x,y,x*y);
}

void 몇줄띄기(int count)
{
        for(int i=0;i<count;i++)
               printf("\n");
}

void 몇칸띌래?(int count)
{
        for(int i=0;i<count;i++)
               printf(" ");
}

bool 짝수이면_(int value)
{
        if(value%2==0) return true;
        else return false;
}

void main()
{
        int
여태총몇줄했어= 0;
       
int
총몇개계산했어= 0;

        int 임시1야= 0;
       
int
임시2야= 0;

        for(int i=1 ;i<=구구단앞숫자;i++)
       
{
               for(int j=1 ;j<=
구구단뒷숫자;j++)
              
{
                      
총몇개계산했어++;
                      
임시1야= (여태총몇줄했어%엑스문자표시총행)+1;

                       if(임시1야<= 엑스문자표시총행/2)
                      
{
                              if(!
짝수이면_(총몇개계산했어))
                             
{
몇칸띌래?((임시1야-1)*구구단한계산의글씨량);
                             
}
                              else
                              {
몇칸띌래?(한줄의총커서-(임시1야*구구단한계산의글씨량)-(임시1야-1)*구구단한계산의글씨량);

                              }

                              임시2야= 임시1야;

                       }

                       else

                       {

                              if(!짝수이면_(총몇개계산했어))

                              {

몇칸띌래?(임시2야*구구단한계산의글씨량);

                              }

                              else

                              {

                                      몇칸띌래?(한줄의총커서-(임시2야*구구단한계산의글씨량)-(임시2야+1)*구구단한계산의글씨량);
                             
}
                       }
야너곱하기만해(i,j);
                       if(
짝수이면_(총몇개계산했어))
                      
{
몇줄띄기(1);

                              여태총몇줄했어+= 1;

                              임시2야--;
                      
}
               }
        }
        getchar();

}

VS 2003부터 가능하지만 VS2003은 앞글자가 영문이어야 한다고 하더군요.

솔직히 지저분하고 쫌 웃기지만  초보들이 읽기에 더더욱 편할 것 같네요.

모로 가든 서울만 가면 되지 않을까요? ^^ (서울을 출력으로 비유한게 아니라 배움)

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

현재 다양한 개발을 위해 적합한 툴을 전도하고 있습니다.

전도의 이유는 아직까지 10년 전의 툴로 10년 전의 기술을 하고 있다는 게 저는 납득이 되질 않거니와 기술도 재미없기 때문에 학생들의 의욕도 없다는 것이죠.

VS?

그래서 VS 2008 무료판을 받고 즐겁게 재미있게 역량을 보이길 바라고 있습니다.
그런데 관점은 전혀 다르게 보고 판단 한다는 것입니다.

대표적인 피드백은 다음과 같습니다.

1. 배우는 입장은 아무것이나 해도 된다.

2. 자기의 취향에 맞춰야 한다.

말로만 비춰보면 100% 맞는 말입니다. 틀린 거 하나 없습니다.
저는 참고로 메모장으로 공부 하였습니다. 하지만 컴파일러는 현재 나오는 것으로 했죠.

"아무거나?"
네! 메모장이 되었든 드림위버가 되었든 이클립스가 되었든 비주얼스튜디오가 되었든 아무거나 하시길 바랍니다.

"취향?"
웹이 되었든 임베디드가 되었든 윈도우즈용이 되었든 맥용이 되었든 원하는 것을 하세요.

사용자 삽입 이미지adobe dreamweaver CS3

사용자 삽입 이미지

하지만 학생들의 관점은 바로 언어(특히 C,C++,C#,자바)라는 것과 또 그 외에 아무것도 모른다는 것입니다. 다른 쉬운 것들 편한 것들 아주 재미있는 것들이 허다한데 C가 개발의 시작점이라 인식이 완전히 박혀 있는 상태입니다. 이 글을 읽어도 아마도 당연히 C가 기초라고 못마땅하실 것입니다.

사실 VS6.0을 해본 저도 아이콘 변경이나 그림삽입 같은 멀티미디어적인 요소에 엄청난 삽질을 해야만 하였고 디버깅도 어지럽게 네이티브코드로 가버리는 등 온갖 삽질투성이게 됩니다. 저는 이런 것이 배움에 있어 더디게 한다고 문제 삼아 왔지만 학생측은 당연시 해왔고 그로 인해 언어는 어렵다라는 인식만 가중되고 있게 됩니다.

다시 한번 위에 피드백을 보자면 배우는데 왜 10년 전 도구와 기술을 배우나요?  그리고 취향이 고전적인가요? 또 현재 컴퓨터에 10년 전 프로그램 찾아보세요. VS6.0 말고 무엇이 있나요? (추가 : 스타크래프도 있네요.)

(추가 - C가 않좋다는 것은 절대 아닙니다. 해당프로젝트에 걸맞으면 C도 당연히 써야죠! 언어가 구식이라는 것을 지적하는게 아닙니다.)

세상은 바뀌고 있고 그 세상에 맞춰 기술은 변화하고 있습니다. 스스로도 변화해야 할 것입니다.

저의 관점은 간단히 말하자면 이렇습니다.

· 코딩은 짧게 생각은 깊게 하라.

· 다양하게 해보고 그 중에 원하는 것을 깊게 하라.

· 자신의 창조물을 만들어라.

지금 하고 있는 기술로는 저의 관점을 충족할 수가 없을 것입니다. 학교의 방침은 따르시되 스스로가 길을 만들어 나가길 바랍니다.

그 길은 자신이 우물 안에 있다는 것을 깨달을 때 더 잘 보일 것입니다.

본인 또한 그 길이 잘 보이도록 노력하겠습니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

다니고 있는 학교의 개발도구 현황을 보면 대부분 비주얼스튜디오(이하 VS) 6.0을 사용하고 자바관련 수업은 최신버젼의 이클립스를 사용하는 것을 보게됩니다.

왜 VS6.0만 고집하면서 이클립스는 최신버젼을 사용할까요? 단지 무료이기 때문일까요?

단언컨대 이클립스는 자주 사용하지 않아서라고 할 수 있습니다. 학교의 커리큘럼에 1학년과 2학년의 수업은 대부분 C와 C++ 관련되어 있어서 이클립스를 만져 볼 기회도 없거니와 수업은 VS6.0 위주로 가기 때문에 마치 VS6.0은 개발도구의 단계라고 여기고 있는 것 같습니다. 즉 이클립스는 안해왔기 때문에 최신버젼이라도 어색하지 않는 반면 VS는 늘 6.0만을 다루었기 때문에 VS 6.0 이상 도구는 어색 하게 느껴지며 더 불편하단 소리로 접근 조차 하지 않으려고 합니다.

본인은 학부때 숙제를 VS 2003, VS 2005 로 개발하여 제출 해왔고 프로젝트는 혼자 다른 플랫폼을 사용하여 주목을 받곤 하였습니다.


그럼 VS2008에서 C++을 어떻게 사용하는지 간단히 보여드리겠습니다.


먼저 VS2008을 설치합니다. 닷넷 3.5기반이고 멋진기능들이 가득해서 설치가 오래 걸릴 것입니다.

그럼 이 세 분이 기다리고 있을 것입니다.(설치 중에 대화도 해보세요.)

설치가 잘 마무리 되었다면

첫 실행을 하면 자기의 주류의 언어를 선택하고 그에 맞는 스타일을 자동으로 구성을 하게 됩니다.

프로젝트의 종류를 선택합니다.

늘 숙제는 Console(콘솔)형태로 하기 때문에 아래 그림처럼 선택을 합니다.

그림과 같이 Win32 콘솔 응용 프로그램을 선택하고 프로젝트 이름을 입력 후 확인 버튼을 누릅니다.

그럼 아래와 같이 마법사가 시작이 됩니다.

다음 장면에 주의 하실점은 바로 "미리컴파일된 헤더" 체크를 해제 해야 한다는 것입니다. 이 것은 컴파일시 매번 필요없는 컴파일을 미리 해준다는 것인데 큰 프로젝트가 아니므로 체크 해제를 반드시 하시기 바랍니다. 만약 체크 하시고 하신다면 미리 컴파일을 해두는 파일에 헤더를 설정하여야 합니다.(어렵진 않습니다.)

그냥 단순히 헤더를 미리 컴파일 할꺼냐 말꺼냐라는 옵션입니다.

나중에 프로젝트 옵션에서 재설정 할 수 있습니다.

 

자 그럼 프로젝트는 만들어지게 됩니다. 처음 솔루션창을 보시기 바랍니다.

조금 잡다한 파일들이 있는데 본 소스파일만 남겨두고 나머지 파일을 과감히 삭제 하시기 바랍니다.

이제는 소스 내용을 봐 볼까요?

 

진입점(main)도 이상하고 이상한 글자들이 괴롭히십니까? 그럼 그냥 다 지우세요.

그리고 즐겁게 코딩하시면 됩니다.


using namespace std; 구문은?

각종 함수가 각각의 패키지로 들어가 있어야 하는데 만약 패키지가 없다면 모든 함수는 일관성없이 한곳에 모여 있을 것입니다.

현재 코드는 cout함수가 있는 std의 패키지를 사용하겠다라는 구문입니다.

그리고 옆에 그림을 보시면 눈에 확들어오는 인텔리센스가 펼쳐지고 원하는 함수에 마우스를 올리면 그림과 같이 입력과 출력 타입을 알 수가 있습니다.

atof의 함수는 char * 타입을 변수로 받고 double 타입으로 출력을 하며 stdlib.h 헤더에 들어가 있다는 것을 알 수가 있네요.

이래도 힘들어 보입니까?

초보인 학생들은 좋은 툴이 정말 좋은 길을 제시할 것 입니다.

간혹 위 그림처럼 나오는 인텔리센스 덕에 "학생들이 너무 의존하게 되어 버릇이 없어진다." 라고 함구하는 분들이 간혹 계십니다.

저는 그 분들에게 이렇게 답변을 하고 싶습니다.

"학생들에 있어서 코드가 전부는 아닙니다."

생각하고 만들고 박수 받을 시기에 먼 훗날 코딩을 대비해야 할까요?

생각하세요. 펼쳐보이세요. 재미있는 것을 해보세요.

과정에 있어서 중요한 건 코딩도 언어도 아닙니다. 중요한 건 만들어질 작품의 기대입니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.
1 

글 보관함

get rsstistory!