[콜콜이의 Daily C언어] 프로그래밍의 정의(프로그램, 프로그래밍, 프로그래머, 프로그래밍 언어)
[콜콜이의 Daily C언어] 프로그래밍(Programming)의 정의


지피지기면 백전백승이라는 말이 있다. 적을 알고 나를 알면, 무조건 승리한다라는 뜻이다. 프로그래밍을 배우고 익히기 전에, 우리가 승리해야할 적 "프로그래밍"의 정의 부터 차근차근 알아보자. 오늘은 프로그램, 프로그래밍, 프로그래밍 언어, 프로그래머에 대해 알아볼 것이다. 포스팅 쓰는데 10분도 안걸릴 것으로 예상되는 허접한 글이지만, 명색이 프로그래밍을 배우는데 프로그래밍이 무엇인지 정도는 알고 가야할 것 같아서 포스팅 하게 되었다. 그냥 눈으로만 쓰윽 지나가면 될 듯 하다.

아, 참고로 1학년 분들은 아마 암기를 해야할 지도 모른다. 내가 배울적에는 중간고사 1번 문제가 프로그램, 프로그래밍의 정의를 쓰는 것이였다. 물론 그때는 교수님께서 말해주신 내용을 써야 여기있는 내용을 쓰면, 장담할 수 없다. (내용이 부족하다는 것이 아니라, 정의쓰기 시험문제는 주로 배운데로 그대로 쓰는 것이 왕도이다.)



프로그래밍(programming)의 정의 by 콜콜이




프로그램(program)

일반적으로 컴퓨터를 실행시키기 위해 차례로 작성된 명령어 모음을 프로그램이라고 한다. 쉽게 보자면 컴퓨터 내에서는 특정 목적의 일을 수행하는 관련된 여러 파일을 뜻하기도 한다. 내가 배운 특강에서는 주어진 문제를 해결하기 위한 처리방법과 순서를 정하는 일이라고 정해져 있는데, 먼저 말한 내용들은 컴퓨터 쪽으로 압축해서 정의한 것이고, 후에 말한 내용은 좀 더 넓은 의미에서 뜻하는 정의이다.




프로그래밍(programming)

프로그래밍은 컴퓨터에 부여하는 명령을 만드는 작업이다.

수식이나 작업을 컴퓨터에 알맞도록 정리해서 순서를 정하고 컴퓨터 특유의 명령코드로 고쳐 쓰는 작업을 총칭해서 프로그래밍이라 하고, 컴퓨터의 명령 코드를 쓰는 작업을 특히 코딩(coding)이라고도 한다. 컴퓨터가 처음 나타난 1950년대 초기까지는 프로그래밍은 숫자를 나열한 명령코드를 쓰는 것이었다. 이것을 기계어(machine language)라 한다.

그러나 기계어에서는 틀리기 쉽고, 또한 틀린 곳을 발견하기가 어렵다는 등 작업하기가 곤란하므로, 그 후 인간이 외우기 쉬운 기호나 언어 ·수식을 사용해서 프로그램을 쓰고, 그것을 일단 컴퓨터에 넣어서 컴퓨터 자신의 명령코드로 고쳐 그것으로부터 계산을 실시하는 방식이 고안되었다. 이것은 프로그램을 만드는 작업의 일부를 컴퓨터 자체에 부담시켜 작업 능률을 향상시키자는 방식이다.


또한 종종 영어로 프로그래밍을 쓸 때, m을 하나만 쓰는 경우가 종종 있는데, 프로그래밍은 programming으로 표기하는 것이 옳다.





프로그래밍 언어

프로그래밍 언어는 일의 처리방법과 순서를 컴퓨터가 알아듣고 실행 할 수 있도록 명령을 내려줄 때 사용하는 언어이다. 사람과 사람사이에 의사소통을 하려면 언어가 필요 하듯, 사람과 컴퓨터 사이의 의사소통을 하도록 만들어진 언어가 바로 프로그래밍 언어이다.

프로그래밍언어의 종류에는 포트란(Fortran), 베이직(Basic), 코볼(Cobol), 파스칼(Pascal), 씨(C), 씨쁠쁠(C++), C샵(C#), 자바(Java), 어셈블리(Assembly) 등이 있다.

참고로, 발달한 프로그래밍 언어일 수록 사람의 말과 비슷하다고 한다.




프로그래머

프로그래머는 개발자라고도 알려져있다. 프로그램을 만드는 사람의 뜻인데, 정확히 표현하자면, 컴퓨터 프로그래밍의 논리나 알고리즘을 설계하고 프로그램을 작성하고 테스트 하는 사람이다. 여담으로 프로그래머가 되고 싶어요. 이런 막연한 꿈을 가지고 있는 고등학생들은 무슨과를 가야하느냐 라는 질문을 종종 받기도 한다. 혹시 모를 프로그래머 꿈나무들을 위해 컴퓨터공학과라고 인터넷을 검색하는 그 분들께 친절히 알려주고 싶다.

Posted by 콜콜이
:

[아이디어 디자인] 아이디어 신호등(독특한 신호등, 신호등 디자인, 아이디어 디자인 신호등)
[아이디어 디자인] 아이디어 신호등(독특한 신호등, 신호등 디자인)

신기한 아이디어 디자인 신호등 모음이다.
미적인 면이 뛰어나다고만 생각하면, 그것은 상용화 될 수가 없다.
아이디어 디자인 측면에서 가장 중요한 것은 아마 실용성이 아닐까?
그리고 미적인 능력을 따지는게 맞다고 생각한다.
독특한 아이디어 디자인 신호등. 신기하다.. 그리고 생각해낸 분들께 존경을 표한다.





Posted by 콜콜이
:

[콜콜이의 Daily C언어] visual studio 2008 실행법(visual studio 2008 사용법, visual studio 2008 단축키)
[콜콜이의 Daily C언어] visual studio 2008 사용법(실행법)


Visual basic을 쓰다가 노트북을 바꾸면서 새롭게 접하게 된 visual studio 2008

C언어를 해야겠다는 마음을 먹고 #include를 빨리 찍어야 겠다라고 다짐을 하고 켰는데 이게 웬 걸..
도무지 visual studio 2008를 사용하는 법을 알 수가 없었다.
순간 바보가 된 것 같은 느낌을 뒤로 한체 천천히 시도해 보았다.
2010을 사용은 안해보았지만, 2010도 비슷한 방법이라고 언뜻 들은 것 같으니 2010 쓰시는 분들도 참고!!
(아래에 단축기만으로 실행하는 법을 썻으니 참고하세요)

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이


 

 


1. Microsoft Visual Studio 2008을 시행한다. 
    단축아이콘을 나중에는 작업표시줄에 박아놓으세요!!
    [단축아이콘 클릭]


앞으로 함께할 visual studio 2008



2. 두둥.. 앞길이 막막하죠??
    의욕은 넘치는데 사용하는 법은 모르겠고.. 어쨋든 첫 페이지의 모습은 다음과 같습니다.

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이




 

3. 먼저 위의 메뉴에서 [파일]을 선택하시고, 제일 위에 있는 [새 프로젝트]를 클릭합니다.
    [파일] - [새 프로젝트]

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이





4. 다음과 같은 창이 뜨는데요.
    좌측 프로젝트 형식에서 두번째 [다른언어]에서 두번째 [Visual C++]을 클릭하시구,
    우측 [템플릿]에서 5번째의 [Win32 콘솔 응용 프로그램]을 클릭합니다.
    [다른언어] - [Visual C++] - [Win32 콘솔 응용 프로그램]

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이





5. 이제 프로젝트 네임을 작성하시면 됩니다.
    저 같은 경우에는 practice1이라고 쳤습니다.
    그리고 확인 버튼 클릭!!
    [프로젝트 네임 작성] - [확인]

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이





6. Win32 응용 프로그램 마법사 창이 뜨는데, 다음을 클릭해주세요.
    [다음]

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이





7. 응용 프로그램 설정 창에서는, 
    [응용 프로그램 종류]에서 [콘솔 응용 프로그램]을 클릭
    [추가 옵션]에서는 [빈 프로젝트]를 클릭해주세요.
     그리고 마침 버튼으로 마무리~
    [콘솔 응용 프로그램] - [빈 프로젝트]

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이





8. 이제 거의다 왔어요. 처음과 비슷한듯 하면서도 조금 다르죠??
    오른쪽에 솔루션 탐색기가 활성화 되었습니다.

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이





9. 이 솔루션 탐색기에서, [소스파일]을 마우스 우클릭 하시고,
    [추가] - [새 항목] 순으로 클릭하시면 됩니다.
    [소스파일 마우스 우클릭] - [추가] - [새 항목]

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이





10. [범주]에서는 [코드]를, [템플릿]으로는 [C++파일(.cpp)]를 선택하세요.
      [코드] - [C++파일(.cpp)]

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이





11. 이젠 파일명과 확인 버튼을 누르시면 됩니다.
     저는 이번에도 역시 practice1로 하였고요.
     후에 파일이 완성되면 파일명은 practice.cpp로 설정됩니다.
     [파일명 작성] - [확인]

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이





12. 이젠 의욕이 가득차있었지만 Microsoft Visual Studio를 사용 할 줄 몰라 포기하셨다면,
     이제 손가락을 휘날리시면 됩니다.

Visual Studio 2008 사용법(실행법) by 공대남 콜콜이




  TIP. 마우스 없이 오늘 배운데 까지 Microsoft Visual Studio 2008 실행하기

            Microsoft Visual 2008 단축아이콘 엔터부터 시작합니다.

            (두번째 부터 사용 가능해요. 처음에 위에서 했던 설정들을 완성해 놓은 다음부터 가능합니다.)

            ctrl +N : 새 프로젝트로 이동

            Alt + N : 프로젝트 명 설정으로 이동
            프로젝트 명 타이핑
            enter 
            enter
            alt + E : 빈 프로젝트 선택
            enter
            ↓ 2번
           마우스 우클릭 역할 하는 키
            D : 추가 항목
            W : 새 항목
            alt + N : 파일명 설정으로 이동
           파일명 타이핑
           enter




 

Posted by 콜콜이
:
[콜콜이의 Daily C언어] 시작에 앞서...한마디(콜콜이의 C언어 특강)

[콜콜이의 Daily C언어] 시작에 앞서...한 마디





C언어 관련 포스팅을 시작하게된 계기


나는 공대생이다. 그리 네임이 있는 대학에 다니는 것도 아니고, 그 집단 내에서도 그리 공부를 잘하는 편도 아니다. 그 동안은 잔재주와 잔꾀로 주로 학점을 따오며 근근히 버텼고, 지금은 휴학중이다. 아이러니하게도 내 단기목표는 대학원에 진학하는 것이다. 그 이유는 쉽게 말로 표현할 수 없다. 다만 대학원에 진학하는 목표를 가지고 있다는 점이 중요한 것이다.

C언어와 나와의 관계는 그리 썩 좋지 않다. 나는 C언어를 너무 싫어했다. 지금은 포비아가 생겼다고 해도 과언이 아닐 정도로 C언어 뿐만 아니라 기타 다른 컴퓨터 언어들에 대해서는 지레 겁을 먹고 피하고 있다. 그 결과는 참담하지만 어느정도 인지 보여주자면 다음과 같다.

1-1학기에 배우는 프로그래밍 과목(C언어 사용)에서 B0를 받았다. 1학년이라 포기하는 애들도 많았고, 프로젝트도 잘하는 사람 옆에 잘 붙어 있어서 pass는 했다. 얻은 것? 없다. 기억나는거 printf 하나 밖에 없다. 그리고 그 해가 끝나고 나는 군대에 갔다. 안 그래도 없는 지식을 다 날렸다. 복학을 하고, 프로그래밍 관련 과목이 없는 터라 1-2학기와 그해 겨울방학도 그렇게 무난하게 지나갔다.

2-1학기부터 컴퓨터 언어와의 악연은 시작되었다. 컴퓨터구조 강의 때 프로젝트로 하던 아... 언어 이름이 생각이 나지 않는다. 그 정도로 싫었나 보다.. 어쩃든 그 프로젝트는 정말 최악였다. C언어나 C++프로젝트 같은 경우에는 주변에 흔히들 말하는 고수들이 많고, 족보도 많아서 큰 도움을 받을 수 있다. 하지만 이 과목을 처음 맡으신 교수님이다 보니 족보는 물론 이 언어를 사용할 줄 아는 사람이 근처에 하나도 없었다. 교수님께서 이런 말씀을 하셨다. "이번 프로젝트는 절대 인터넷에 검색을 해도 나오지 않아요. 제가 구글링을 해보면서 인터넷에 없는 문제를 프로젝트로 하였거든요" 망.했.다. 어쩔 수 없다. 그냥 했다. 꾸역꾸역, 당시 월드컵 16강 아르헨티나 전을 하던날 나는 친구와 함께 도서관에서 밤을 세며 프로젝트를 하였다. 너무 어려웠다. 나는 손도 대지 못했는데. 다행이 친구가 기본적인 소프트웨어 언어 센스를 발휘하며 꾸역꾸역 끝냈다. 나는 내 주특기라 할 수 있는 보고서를 쓰므로서 점수는 썩 괜찮게 받았고, 그 과목은 A-로 마무리 지었다.(이땐 중간고사를 월등하게 봤다) 중요한건 그 프로젝트에서 내 활약은 미비했다. 중요한 프로젝트 내용을 짜는 역할이 아닌 보고서를 맛들어지게 쓰는 것이 였기 때문이다. 나는 슬슬 컴퓨터 언어들에 대해 무서움을 느끼고 있었다.

2-1학기 여름방학이 시작되고, 나는 C언어를 시작하였다. lectopia에서 제공하는 정혜경의 C언어라는 과목을 학교 지원을 통해 조금 저렴하다고는 하나 저렴하지 않은 가격으로 수강을 신청했다. 결과는 5일 다니다 그만두었다. 당시 동아리 활동을 하던 나는 홍보팀장이라는 직위를 가지고 있었고, 그에 대한 대가로 나는 1년에 한 번 있는 대회 참가를 위해 ppt를 회장 형과 10일동안 밤을 세며 만들었다. 진도는 쳐지고 숙제도 못하고, 수업시간엔 졸고, 결국 포기했다. 더 웃긴건 참가했던 대회는 예선탈락했다. 좋은 경험이였어라고 자위를 하며, 놀았다. 물론 방학기간에 잠깐 혼자 공부를 하겠다고 1학년 때 했던 책을 폈으나, 눈에 들어올리 만무했다. 이젠 슬슬 피하고 싶어졌다. 지금 07년에 배워서 써먹을 내용을 아직도 손도 못대고 있다니..

2-2학기 드디어 터졌다. 2-1학기 까지 꽤 준수한 성적으로 마무리 지어왓다.(1-1학기 제외!) F는 물론 C도 없었다.(B가 많긴 했다..) 어쨋든 문제의 요지는 나의 인턴과 관련해서 시작된다. 나는 S 벤처기업(벤처기업이니 삼성은 절대 아님)에서 인턴기간을 가졌다. 수업을 듣고 바로 가서 최소 4시간의 업무를 보면서 일을 하였다. 여기에 관련해서도 하고 싶은 말은 많으나 주제와 벗어나므로 하지 않도록 하겠다. 당시 고급프로그래밍, 결과는 "F" 중도 자체 드랍을 하였다. WOW 인턴을 하면서 도저히 시간이 나지 않는 것이다. 아 그때만 생각하면 아직도 쥐구멍에 숨고 싶은 그런 일들도 몇 개 있었다. 물론 그건 비공개 이다.... 그 뿐인가, 신호및시스템의 매틀랩에서도 빌빌 기었다. 이젠 정말 겁이 났다. C언어 라는 말만 들어도 도망치고 싶고, C++하면 귀를 막아버리고 싶고, 매틀랩, smart spice 하면 공대를 떠나야 하나라는 생각이 들었다.

3-1학기, 모든 과목에 프로젝트가 있다고 보면 된다. 그리고 그것들은 모두 매틀랩, C언어, C++, smart spice, wireshark 등등 프로그램들을 통해서 해내야 하는 것들이다. 겁이 났고 중간도 별로 잘 안나오고,, 이리저리 힘든일들을 겪었던 나는 휴학을 하게 된다.

그리고 현재 다시 C언어 특강 남들은 1학년 1학기 여름방학에 듣는 것을 지금 듣고 있다. 부끄럽고 내 자신이 밉다. 여기까지가 나의 파란만장한 컴퓨터 언어와의 인연이다. 공대생이다 보니 말 주변도 없고 해서 별로 긴박해 보이진 않으나, 나에게 있어 프로그래밍은 정말 피하고 싶은 그런 단어이다.

난 팀원으로 활동하는 것을 별로 좋아하지 않는다. 모든 프로젝트의 팀장이 되어야만 한다. 그게 내 성격이다. 팀원이면 그냥 손을 놔버리는 악습관도 가지고 있다. 내가 팀장을 하는 이유는 건방지지만, 능력이 있다. 사람을 다스리는 능력 이런걸 떠나서 나는 남들과 다른다. 보고서 ppt 발표 다 남들과는 레벨이 다르다. 독창적이고 창의력 있는 것들을 만들어낸다. 창의적 공학설계 시간에 특히 빛을 바랬다. 그런데 이런 언어를 다루는 프로젝트는 내가 작아진다. 팀장은 내가 알아서 포기한다. 실력없는 팀장을 따르는 팀원은 힘이 들기 때문이다. 물론 이런 플로젝트는 2인 1조이기 때문에 특히 팀장은 뽑지 않아서 그나마 내 자존심에는 큰 상처를 남기진 않았다. 혹시나 팀장을 하고 싶고, 남들에게 자신의 능력을 뽐내고 싶은 사람이라면 더더욱 공부를 해야한다.


쓸모없는 이야기가 길어졌다. 어쨋든 내가 이 포스팅을 쓰게 된 이유는 다음과 같다. "나와 같은 사람이 발생하지 않도록" 그리고 어느 블로그에도 체계적으로 포스팅들을 정리를 해주지 않았다. 마치 싸고 맛있는 집 찾다가 내가 차린 음식집 같은 그런 느낌이랄까!?





포스팅을 하는 방법

포스팅을 하는 방법에 있어 고민을 많이 했다. 그날그날 배운내용을 작성할까? 아니면 키워드 위주로 작성을 할까 했다. 검색을 통해 필요한 부분만 찾을 수 있는 키워드가 솔직히 나에겐 더 편할 것 같았다. 하지만 그날그날 배운내용을 작성하는게 공부를 하는 입장에서는 더 쉽게 볼 수 있다는 장점도 있다. 그래서 나는 두개를 합쳤다. [콜콜이의 C언어]0일차_(주제) 이렇게 제목을 쓰고, 앞에 날짜는 꾸준하게 쓰면서 주제별로 포스팅을 나눌 것이다. 찾기도 쉽고, 시간 순으로 배울 수도 있는 일석이조의 효과이다.(현재 수정하였다. 날짜를 쓰는 것은 매일 날짜를 지키기 어려운 여건이라서 주제별로 하기로 함)

다음은 내용이다. 내용은 내가 C언어 특강에서 배운내용을 적고, 집에서 혼자 공부한 내용과 다른 책에서 발췌한 것들, 그리고 문제 풀이를 통해 그날 그날 배운 것들을 블로그에 남기도록 하겠다. 쉽게쉽게 배우도록 말이다. 물론 내가 쉽게 쉽게 찾기 위해서 이기도 하다.

출저관련해서는 꼬박꼬박 쓰는 습관을 들이도록 하겠다. 필요하면 찾아서 보도록 하고, 주로 사용되는 내용은 "lectopia 정혜경 강사의 C언어 프로그래밍 수업"과 "수업 교재", 1-1에 사용했던 "C로 배우는 프로그리밍 기초"를 위주로 할 것이며, 중간중간 보충할 내용은 다른 블로그나, 책을 통해서 쓰도록 하겠다.




맺음말

공대생 후배들이여, 프로그래밍을 피하면 안됩니다. 지금 저는 너무 후회하고 있습니다. 이거 하나쯤이야 하다가는 이쪽 관련 분야들을 모두 포기하게 되고, 훗날 선택의 폭은 점점점점점점 줄어들게 됩니다. 흔히 선배들이 "소프트웨어로 안갈꺼면 안해두 되" 이런말 절대 믿지 마십시요. 그런 선배들 중 잘된 사람 하나 없습니다. 모든 분야 모든 전공을 많이 배우고 많이 공부하는게 최고입니다.

이렇게 파란만장한 인생을 살고 있는 만신창이 공대생도 지금이라도 마음을 먹고 공부를 시작하려 합니다. 늦지 않았어요. 지금부터라도 빨리 롸잇나우. 책을 피고, 비쥬얼 스튜디어를 키고, #include 부터 쓰고 시작하세요. 제발요. 나 같은 패배자 공대생은 더이상 나오지 않았으면 좋겠습니다. 화이팅



사용하는 프로그램 : Microsoft Visual Studio 2008

 

더운 2011년 여름날, 공대남 콜콜이 올림

Posted by 콜콜이
: