본문 바로가기
IT/C and C++

[C]프로그래밍을 시작하는 방법

by 타이모리 2022. 12. 29.

요즘 프로그래밍이 대세입니다.

학교에서도 교과수업으로 편성될 정도로 프로그래밍 기술은 중요합니다.

이러한 상황에서 언어 하나 배워두면 좋은 경력이 되겠지요?

 

그래서, 프로그래밍을 시작하는 방법에 대한 포스팅을해보도록 하겠습니다.

목차


    프로그래밍이란?

    프로그래밍은 자신이 원하는 행동(알고리즘)을 프로그래밍 언어를 구축해 컴퓨터의 프로그램으로서 구현하는 것입니다.

     

    우리들이 컴퓨터에서 사용하는 프로그램 전부가 프로그래밍 되어있는 것이죠?

    컴퓨터에 "1+2 계산해줘!"라고 말해도 별 소용이 없습니다.

    (만약 못 믿으신다면, 컴퓨터에 "1+2"라고 외쳐보세요!)

     

     

     

     

    프로그래밍하는 방법!


    프로그래밍은 대체로 다음과 같은 순서를 따릅니다.

    문제 인식 -> 순서도(알고리즘) 생각 -> 구현(프로그래밍) -> 디버깅 -> 완성!

    해결하고자 하는 문제를 인식하고, 문제를 해결하기 위한 알고리즘을 생각합니다.

    (사실 여기가 가장 어려워요!)

     

    알고리즘만 생각한다고 컴퓨터가 알아서 해줄 리가 없습니다.

    따라서, 알고리즘을 컴퓨터가 알아들을 수 있도록 "기계어"로 번역해주어야 합니다. 우리는 C, Python과 같은 특정 형식으로 이를 적어주면, "컴파일러"가 알아서 "기계어"로 번역해줍니다.

    결과적으로 C, Python 같은 프로그래밍 언어로 알고리즘을 적어주는 것이 프로그래밍이 되는 것입니다!

     

    프로그래밍했다고 해서 바로 나오면 좋겠지요?

    그러나, 이렇게 바로바로 원하는 결과가 나오는 경우는 많이 없습니다.

    코드를 열심히 작성할수록 어디선가는 실수가 나오기 마련이니까요.

    그래서 디버깅(Debugging) 해주어야 합니다. 디버깅은 프로그램의 에러, 오류 등을 바로잡는 과정이라고 생각해주시면 됩니다.

     

    이렇게 하나의 프로그램을 완성하는 방법을 알아보았습니다.

     

    프로그래밍 언어가 뭔데?


    프로그래밍 언어는 간단히 말하면, 프로그래밍할 때 쓰이는 언어입니다.

    자꾸 이야기하는 것 같지만, 컴퓨터에 "OO로 출력해줘" 하고 말해도 별 소용이 없습니다.

    그래서 저 말 대신 "printf("Hello!");"와 같은 지정된 형식을 통해 컴퓨터에게 부탁합니다.

    이러한 형식들을 모아서 만든 규약이 프로그래밍 언어라고 생각해주시면 됩니다.

     

    우리들이 열심히 프로그래밍 언어에 맞추어 작성해주면,

    컴파일러(Compiler)가 0110001처럼 "기계어"로 번역해줍니다.

    그러면 우리가 실행할 수 있는 형식이 되는 것이죠.

     

    프로그래밍 언어의 종류는 정말 다양합니다.

    C, C++, C#, D, Java, Python, Ruby, Coffee, Rust....

    정말 다양한 언어가 존재하고, 그만큼 다양한 기능을 지원합니다.

    언어마다 적합한 환경이 있고, 적합한 쓰임이 있습니다.

    따라서 최대한 많은 언어를 배워두면 좋겠지요?

    저 같은 경우에는 C, C++, C#, Java, Python, PHP, Javascript, Matlab, Assembly language

    정도를 다룰 수 있습니다.

    (사실 C/C++이랑 Python, Javascript를 주로 다루긴 합니다. 나머지는 그냥 문법 정도만 알고 있는 정도입니다.)

     

    근데, 사실 C나 C++ 정도만 알고 있으면 다른 언어는 특이한 문법들을 제외하면 어렵지 않고 구조적 형식이 거의 동일한 탓에 크게 언어에 구애받지 않아도 됩니다.

    결과적으로, 자기가 주로 쓰는 언어 2가지(많으면 3가지) 정도만 알고 계시면 충분합니다.

     

    컴파일러란 무엇일까?


    위에서 자꾸 컴파일러라고 말해서 컴파일러가 궁금하신 분들도 계실 것입니다.

    컴파일러는 다음과 같습니다

    인간의 언어와 비슷한 수준의 언어(C, C++, Python 등의 우리가 평소 쓸 프로그래밍 언어)로 이루어진 원시 프로그램을 번역하여 저급 언어(Low Level Language, 기계어 010110 같은 거 있죠?)로 번역해주는 번역기

    우리가 프로그래밍 언어를 아무리 열심히 구사하더라도 프로그램이 작동하지 않습니다.

    이를 우리가 구동할 수 있는 프로그램으로 만들어주기 위해서 컴파일러가 필요한 것입니다.

    대표적으로 우리가 자주 사용할 컴파일러는

    Visual Studio 등이 있습니다. 그 외에도 Visual Studio Code라든지 다양한 컴파일러가 존재합니다.

    앞으로 저는 Visual Studio 2022를 사용할 것입니다.

    (Code를 쓰시는 분들이 많던데 저는 옛날부터 Studio만 사용해와서 이게 더 손에 익더라고요. 처음 시작하시는 분은 Code로 해도 괜찮을 테지만, 개인적으로 좀 비추천입니다. 최근의 학습 자료가 많이 필요하신 경우 사용해보시는 것도 나쁘지 않을 듯합니다.)

     

    마무리

    프로그래밍을 너무 어려운 거로 생각하지 말아 주셨으면 합니다.

    제 블로그를 차근차근히 따라오시면 조금씩 실력이 좋아지실 거예요!

    그럼, 다음 포스팅으로 뵙겠습니다! 20000!

    (20000이 뭐야.. 90년대 포스팅이라도 쓴건가..)

    댓글