초심찾기 프로젝트 기초를 탄탄히 하기[2]

현재까지 공부한 것들이 머릿속에서 뒤죽박죽 섞이고 잘 정리가 되지 않는것 같아서 지금까지 공부한 것들을 정리하며 기초를 탄탄히 다지려고 한다.

프로그래밍에 대한 이해

개요

프로그래밍을 한다는 것이 C++, Java, C# 등의 언어로 무언가를 작성하는 것은 아니다. 그렇다면 코드를 작성 할 줄 아는 사람은 모두 프로그래머라고 할 수 있을 것이다. 그렇다면 프로그래머가 하는 일인 프로그래밍이란 무엇인가?

프로그래밍에 대한 이해

프로그래밍이라는 단어는 본래 업무를 수행하기 위한 절차를 뜻하는 용어로 컴퓨터에서의 프로그래밍이란 컴퓨터가 우리의 목적을 달성할 수 있도록 필요한 절차를 기술하는 것을 의미한다.

프로그래밍 언어는 사람 대신에 컴퓨터에게 내 생각을 전달할 수 있는 도구라고 할 수 있다. 사람의 언어가 일정한 규칙으로 약속되어있듯, 프로그래밍 언어 또한 일정한 규칙이 있다. 이를 문법(Syntax)이라고 하며, 문법을 지키지 않으면 컴퓨터와 소통할 수 없다. 대다수의 프로그래밍 언어는 사람이 빨리 익힐 수 있게 자연어와 비슷하고, 문법 또한 대부분 비슷하다.

코드는 문법에 맞춰 적어놓은 명령어를 의미한다. 그런 의미에서의 코딩은 코드를 작성하는 것이라고 할 수 있다. 코딩과 프로그래밍을 동일하게 여기는 경우가 있는데, 엄밀히 다르다. 프로그래밍은 목적을 달성할 수 있게 논리적인 절차를 기술하는 것이고, 코딩은 이 절차를 바탕으로 명령어로 옮기는 것이다.

프로그래밍 언어는 문법을 의미하는 코어(Core) 부분과 문법을 이용해 많은 사람들이 편하게 프로그래밍 할 수 있도록 도와주는 라이브러리(Library) 부분으로 구성된다. 우리의 생각을 컴퓨터에게 전달하려면 어떤 문법을 써야 하는지, 그리고 프로그래밍을 할 때 유용한 라이브러리는 무엇이고 어떻게 사용하는지를 중점으로 공부해야 한다.

프로그래밍 도구

프로그래밍을 하기 위해선 여러 가지 도구가 필요하다. 그래서 프로그래밍을 위해 어떤 도구가 있고, 그 도구의 용도는 무엇인지 명확히 알 필요가 있다. 다양한 도구 중에서 가장 기본적인 도구만 나열해 보겠다.

텍스트 에디터

텍스트 에디터는 코드를 작성하기 위해 필요하다. 여기에는 메모장, Vim, Visual Studio Code, Sublime Text 등이 있다.

컴파일러

코드를 작성했다면 이를 컴퓨터가 실제로 이해할 수 있는 명령어로 바꾸는 과정이 필요하다. 이를 컴파일(Compile) 이라고 하며, 컴파일러(Compiler)는 컴파일을 하는 프로그램이다. 컴파일러는 프로그래밍 언어마다 다양하게 존재하며, C#의 경우 Roslyn, Mono 등이 있다.

디버거

프로그램을 만들다보면 우리가 모든 것에 대해 완벽하게 생각할 수 없기에 필연적으로 오류가 발생하게 된다. 이런 오류를 버그(Bug)라고 하며, 디버거(Debugger)는 버그를 고칠 수 있도록 여러 가지 기능을 제공한다.

IDE

상기된 것을 포함하여 프로그램을 개발하기 위한 여러 가지 도구를 하나의 프로그램으로 만든 것을 통합 개발 환경(Integrated Development Environment)이라고 한다. 종류로는 Android Studio, IntelliJ IDEA, Xcode, Visual Studio 등이 있다.

profile
프로그래머 지망생

0개의 댓글

관련 채용 정보