01 프로그래밍
1.1 프로그래밍이란?
즉, 프로그래밍이란?
0과 1밖에 모르는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업이며, 그 결과물이 바로 코드다
이 때 필요한 것이 컴퓨팅 사고(Computational thinking)이다
1.2 프로그래밍 언어
문제 해결 능력을 바탕으로 정의된 문제 해결 방안은 컴퓨터에게 전달되어야 하는데, 이때 명령을 수행할 주체는 컴퓨터다.
따라서 사람이 이해할 수 있는 자연어가 아니라 컴퓨터가 이해할 수 있는 언어, 즉 기계어(machine code)로 명령을 전달해야 한다
사람이 기계어로 직접 명령을 전달하는 것은 매우 어려우므로,
- 사람이 이해할 수 있는 약속된 구문(Syntax, 문법)으로 구성된 프로그래밍 언어를 사용해 프로그램을 작성한 후,
- 그것을 컴퓨터가 이해할 수 있는 기계어로 변환하는데, 일종의 변역기를 이용한다.
- 이 때 이용하는 번역기를 컴파일러(compiler) 혹은 인터프리터(interpreter)라고 한다
1.3 구문과 의미
- 문제 해결 능력으로 만들어낸 해결 방안은 프로그래밍 언어의 문법을 사용해 표현한다.
- 작성된 코드는 해결 방안의 구체적 구현물이고
- 프로그래밍 언어의 문법에 부합하는 것은 물론
- 수행하고자 하는 바를 정확히 수행하는 것, 즉 요구사항이 실현(문제가 해결)되어야 의미가 있다
- 프로그래밍 언어가 제공하는 문법을 적절히 사용하여
- 변수를 통해 값을 저장하고 참조하여
- 연산자로 값을 연산, 평가하고
- 조건문과 반복문에 의한 흐름제어로 코드의 실행 순서를 제어하고
- 함수로 재사용가능한 문의 집합을 만들며
- 객체, 배열 등으로 자료를 구조화한다.
✨ tl;dr
- 프로그래밍은 요구사항의 집합을 분석해서
- 적절한 자료구조와 함수의 집합으로 변환한 후,
- 그 흐름을 제어하는 것