최근 수정:
프로그래밍을 시작하지 않은 사람을 대상으로 무엇을 해야할지 알려주는 문서.
이 문서를 보고 있을 사람이라면 최소 정보통신공학과 혹은 컴퓨터공학과 1학년 이상, 프로그래밍이 불가피한 상황일테지만, 일단 처음 시작할 때를 가정해서 서술한다.
다짜고짜 "Hello World!"를 출력하시오, 라는 과제를 받았지만 비주얼의 존재도 몰라 메모장을 쓰라는건지 무엇인지 모르는 사람을 대상으로 함.
프로그래밍을 처음 배우는 사람에게 주어지는 선택지는 크게 두가지에서 세가지로 나뉜다.
어떤 언어를 먼저 배우는가에 대한 선택지인데, 결론적으로 말하자면 개인적으로 C를 추천한다.
일반적으로 국내 교육과정은 보통 C로 시작을 많이하며, 본교 또한 예외는 아니다.
C로 시작할 때의 단점은 1학기 교육과정을 배운 다음에도 "프로그램 다운 프로그램"을 짜는 경우가 없다는, 그리고 배운적도 없다는 딜레마에 빠질 수 있다는 것.
그리고 장점은 앞으로의 프로그래밍 학습이 더욱 쉬워질 수 있다는 것이다.
단점에 대해 먼저 말해보자면, 가령 많은 시간과 노력을 투자해서 계산기 프로그램을 짠다고 (우리 학교 1학기 과정을 수료했다 가정)
과목 하나를 수강하고도 우리의 프로그램은 모두 기본적으로 검은 바탕의 촌스러운 출력창을 깔고 들어가 XP에 내장된 계산기와 비교를 해도
어느쪽이 더 계산기 같은가 하냐면 도스창에 굴림체로 써진 계산기를 외면할 수 밖에 없다 이거다. 즉, 프로그램다운 프로그램을 만들 수 없다.
그러나 학습에 중점을 둔 우리는 C의 무시무시한 장점을 무시 못하는데,
C로 첫 프로그래밍을 시작하면 앞으로의 프로그래밍 학습이 위 두 경우보다 쉬워질 수 있다.
즉, C는 배워서 프로그램을 만든다기 보다는 프로그래밍의 전체적인 이해에 도움을 주는데에 중점을 두었다고 할 수 있다.
앞으로 배우게 될 강력한 도구인 포인터를 사용하여 컴퓨터의 저수준의 제어에 대한 이해력을 늘려주기 때문이기도 하며,
C 이후의 웬만한 언어가 C의 영향을 많이 받았기 때문이다.(ex. 단위를 묶는 방법: begin end -> { }, 할당/같음을 판별하는 연산 등)
파이썬으로 시작하는 경우는 거의 없다....라고 하면 성급한 발언 같기는 하지만, 파이썬이 쉽기 때문에 가끔 이 언어로 시작하는 경우가 많다.
몰론 사람마다 다르기도 하고, C와 자바로 먼저 시작하는것이 더 낫기 때문에 이 문서를 보는 우리는 지양하도록 하자.
가톨릭대학교나 기타 여러 대학교에서는 파이썬을 1학년 1학기에 배우는 경우도 많다. 개인적으로는 파이썬으로 접하는게 훨씬 낫다고 보는데, 뭐 어차피 뭘로 시작해도 자기 하기 나름인듯 싶다.
(본인은 자바를 배우지 않았으니 약간 더 조사바람)
자바로 시작하는 경우의 장점은 위에 나와있다. 배우고 나면, 프로그램 다운 프로그램을 만들 수 있다.
몰론 프로그램 다운 프로그램이 뭣이냐, 우리가 C로 짠 프로그램은 .exe 프로그램이 아니냐 할 수도 있겠지만,
우리가 xp시절에 썼던 일반적인 프로그램의 형식(프로그램의 맨 위에는 이름과 파란줄이 있고.....크기는 얼마 얼마... 등)을 볼 수 있고, 하여튼...이것 저것 많다.
또한 추상화 개념을 적극적으로 도입하여 프로그램을 만들 때 전체적인 방향성을 그려넣고 타이핑을 시작하는 안목을 기르기도 좋고, 객체지향 개념을 챙기기도 좋다.
본인은 자바를 안 배웠으므로 정확성을 위해 더 이상의 자세한 설명은 생략하겠다.
IDE라는것은 통합개발환경을 뜻하는 말로, 텍스트 편집기, 컴파일, 링킹 등의 과정을 전부 처리해주는 프로그램을 말한다.
처음 배우는 사람을 위해 말하자면, IDE를 설치해야만, 이용해야만 어떤 프로그램이든 만들 수 있다는 말이므로,
프로그램을 만들고자 한다면 일단 IDE부터 설치하자.
여러 IDE가 많이 있지만 처음 배우는 사람이 선택할(그리고 본교 정보통신/컴퓨터공학과 학생이라면 일반적으로) IDE는 Visual Studio이다.
주소 : https://www.visualstudio.com/ko/downloads/ 로 가서 커뮤니티판을 다운받도록 하자.
(이하 내용 수정 예정)
+ 교수에 따라 코드블럭이라는 프로그램(Code::Blocks)을 설치한 사람도 있을텐데, 코드블럭에 대한 설명을 하자면
코드블럭은 가볍고 용량이 작아 비쥬얼을 돌리기도 벅찬 뭣 모르고 구매한 사무용 노트북 유저에게 추천하며, 비쥬얼이 있다면 굳이 설치할 필요는 없다.
다만 비쥬얼의 코드를 코드블럭으로 옮기면 오류가 생기는 경우가 있다는것은 알아두자.(Visual에서만 먹히는 명령어를 쓰는경우)
가끔 특별한 신입생들은 윈도우 노트북이 아닌 맥북을 가져온다. 맥북 같은 경우에는 Visual Studio를 사용할 수 없기 때문에 난처한 경우가 있는데, Visual Studio Code(이하 VSC)를 이용하여 C/C++ 컴파일러를 다운받아 사용하는 경우가 보통 많다. Xcode를 사용해도 되는데, C언어를 보통 배우는 경우에는 뭐가 뭔지 잘 모르는 경우가 많기 때문에 사용자가 많은 플랫폼이나 IDE를 사용하는 것이 좋다.
또한, 중고 새내기 혹은 이미 괴물이 되어있는 학생의 경우에는 LINUX 운영체제를 사용하는 경우가 있다. 이런 경우에는 gcc / g++ 컴파일러를 이용하여 컴파일 하고, vim 에디터를 통하여 코딩을 할 수도 있다. 2024년도에는 학과 차원에서 LINUX 서버를 대여해 주었는데, 원래 멀티미디어공학과에서 사용하던 서버를 들고와서 사용하는 것으로 보인다. 리눅스가 익숙하지 않은 사람이 많을텐데, 실제 Baekjoon Online Judge나 Codeup.kr 의 경우 LINUX 컴파일러를 기반으로 코드를 읽고 컴파일 하여 정답인지 아닌지 판별하기 때문에, "VS나 VSC에서 되는데 여기서는 왜 틀릴까요?" 와 같은 문제점을 줄일 수 있기 때문에 꽤나 효율적이다.
비쥬얼 2017의 경우, 자체적인 도구(비쥬얼)을 설치한 후에 추가로 설치할 환경이 있을텐데,
(이상은 필자가 2015를 2년전에 받았기 때문에 가물가물해서 잠깐 유보함)
만약 IDE를 받고 도구도 설치해서 프로그래밍의 준비가 끝났다면 프로젝트를 생성한다.
프로젝트를 생성할 때는 파일 - 새로만들기 - 프로젝트.
프로젝트중 템플릿 - 비쥬얼 C++ - WIN32 콘솔응용프로그램(빈 프로젝트 아님! ).
응용프로그램 마법사에서 다음 - 콘솔응용프로그램, 추가옵션에서 빈프로젝트 - 마침 을 해서 만들고,
새 파일을 만들때는 파일명.c로 만든다.(C언어로 시작할 경우)
나머지는 C언어 프로젝트참고.
일반적으로 C를 가르치는 순서는
개요 - 표준입출력 - 변수/상수/자료형 - 연산자 - 제어문 - 배열 - 함수 - 포인터 - 메모리구조 - 동적할당 - 파일입출력으로 간다.
본교 강좌 '프로그래밍기초와실습' 에서는 아마 포인터까지 나가고 끝날텐데, 최소 동적할당 까지는 완료해야 후에 배우는 자료구조 수업에 지장이 없을 것이다. 해당하는 문서로 가서 순서대로 배우고 올 것.