brunch

C언어를 배워보자 - 1. Hello world

평범한 인문대 졸업 직장인의 프로그래밍 고군분투기

by 아무나

*코드카데미에서 배워보았습니다 https://www.codecademy.com/ (무료였습니다)

*위의 과정을 선택한 것은 코드를 직접 쳐볼 수 있어 좋아 보인다는 개인적인 이유 때문이었습니다

*스폰이나 광고는 있을 리가 없습니다

*틀린 코드가 있거나 잘못된 부분이 있을지도 모릅니다 용서하세요!(코딩 1일 차입니다 칭찬과 가르침을!)



왜 코드를 공부하고자 하였을까?


컴퓨터 없이는 살 수 없는 세상이다.

내 방에는 PC, 노트북, 아이패드, 아이폰 등의 다양한 전자기기가 널려있고, 그 전자기기를 돌아가면서 사용하다 보면 하루가 다 간다. (아침에 일어나자마자 누워서 핸드폰 보다가... 아이패드로 영상보다가... 불현듯 해야 할 작업이 있으면 노트북을 켰다가... 헤비하고 무거운 게임을 돌려야 하면 PC를 켜는 순서로)


현재 다행히 취직에 성공하여 평범한 사무직에 종사하고 있지만 이후 나이가 들었을 때도 이렇게 사무직으로 먹고살 수 있을지 미래가 불투명하다.


그래서 뭘 하고 살아야 오래오래 전문직으로 먹고살 수 있을까 찾아보다가 결국 이 세상은 날이 가면 갈수록 컴퓨터 판이되겠구나 싶어서 일단은 가벼운 마음으로 코딩을 공부해보기로 했다. 초등학생들도 코딩을 공부하는 세상인데, 이러다 나이 들면 코드를 모르면 한글 모르는 사람이 될 것 같기도 해서 말이다.




어떤 언어부터 시작해야 할까?



검색에 검색을 거듭한 결과 많은 사람들이 비전공자가 처음 코드를 시작할 때 파이썬(Python)을 추천하였다. 그래서 코드카데미의 파이썬 과정을 찾아보았는데 무료 버전의 레슨이 Python 2 과정부터 시작하는 것이 아닌가? (Python1 어디 갔어?!)

그래서... 까짓 거 뭐 2부터 하지 뭐 (무식하면 이렇게 용감합니다.) 했는데.. 옆에 C++ 언어 과정이 있었다.

코드에 대해서 아는 것은 없지만 어디서 주워듣기로...


프로그래머의 기본 소양은 뭐다! C다!

컴퓨터 공학과에 들어가면 뭘 배운다! C다!


이런 말도 이상한 구호가 머릿속에서 울려 퍼지는 바람에 나도 모르게 C++과정을 신청했다.


일단 무료니까!

언제든 바꿔도 되니까!

뭐 일단 그냥 적성에 맞는지 한 번 해보는 거니까!


도전!!



그리하여 C과정의 [1강. C의 역사와 Hello World]를 시작하게 된 것이다.




*참고*

코드카데미에는 유료버전(고급과정이나 패스웨이 제공, 더 많은 예시를 풀어볼 수 있음)과 무료 버전이 있다.

일단 나는 돈 내고 헬스장 안 가는 끈기 없는 부류의 사람 중에 하나이므로 바로 유료부터 지르지 않고 일단 규칙적인 공부로 무료 레슨을 몇 과정 성공적으로 마치면 유료를 결재하기로 마음먹었다.








1강. C++의 역사와 Hello World


왜 프로그래머들은 C를 배우나?


1979년도에 만들어진 C는 어디에나 이식 가능한, 다시 말해 훌륭한 낮은 단계(Low-level)의 언어로 활용도가 높다! 다시 말하자면...

= 빠르고, 유연하고, 잘 지원되고, 생각한 것을 그대로 구현 가능하다! (혹자는 마지막 이유 때문에 구현되어서는 안 될 것이 구현되기도 한다고... 장점인지 다시 생각해보자)



모든 코드의 시작은 "Hello world"부터!


예전에도 코드를 공부해보겠다고 갉작거렸던 시기들이 몇 번 있었다. 그렇게 코드 공부를 위해 책이든 강의든 첫 장을 펼치면 나오는 것은 항상 Hello world 였다. 왜 하필 Hello world 일까?

프로시 작러인 나에게 왠지 Hello world는 너무나도 친숙한 문구였다.


익숙하지만 기억해두고자 코드를 복습 겸 작성한 코드를 가져와보았다.


#include <iostream> //이오스트림이라는 라이브러리로 시작한다는 뜻일 것이다

int main() //메인 기능을 실행하고

{ //중괄호로 기능을 시작하고

std::cout << "Hello World!\n"; // 세상을 향해 인사하고

(std:: 이건 뭐지?)

(여기서 cout는 "Character OUTput stream"의 약자이다. - 문자 내보내기)

(<<는 이제 오른쪽에 실행시켜야 할 것이 나온다는 뜻이다)

(; 땀은 끝났다는 뜻이다)

} //중괄호로 기능을 끝낸다



이걸 실행시키면 아래와 같이 빠밤!


hello world.PNG 안녕 세상!(왈도체)


태초의 코드가 실현된다!

일명 코드서 1장 1절 Hello world.



1강의 마무리


음? 벌써 끝이다.

코드카데미는 사람들의 집중력이 짧다는 사실을 잘 알고 아주 짧게 강의를 구성해 놓았다. 고마워!


강의 마지막에는 태초의 코드 hello world를 구현해본 사람들의 감성을 자극하는 "미래의 나에게 코드로 편지를 써보기" 코너가 있었다. 사실 아무거나 이를테면 "똥" 같은 걸 넣고 실행하면 레슨 통과지만 나는 문과 출신 아닌가! 나를 위한 편지라니 수줍게... 뭐 이런 걸 다...


1-1. keep going.PNG 편지라면 10장도 더 쓸 수 있어! 하지만 코드라면...




PS. 나는 늘 저 위의 letter.cpp의 확장자 .CPP가 무엇을 뜻하는지 궁금했었다.

그런데 알고 보니 내가 배우고 있는 코드 씨뿔뿔의 약자였다. (욕 아님)

당연한 것이었지만 충격적이었고, 무릎을 탁 치게 만드는 '이럴 수가'가 아닐 수 없다.





keyword