1. 프로그래밍
in 모던자바스크립트
프로그래밍이란?
- 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션.
- 요구사항을 명확히 이해한 후 적절한 문제 해결 방안을 정의해야 한다.
- 이때 필요한 것이 “문제 해결 능력”
- 요구사항을 명확히 이해하는 것이 우선, 복잡함을 단순하게 분해하고 자료를 정리하고, 구분해야 하며, 순서에 맞게 행위를 배열해야 한다.
- “정학하고 상세하게 요구사항을 설명하는 작업” 그 결과물 === 코드
- 컴퓨터의 입장에서 문제를 바라봐야 한다 > 컴퓨팅 사고
- 논리적, 수학적 사고가 필요, 해결 과제를 작은 단위로 분해 및 패턴화하여 추출하고, 프로그래밍 내에서 사용될 모든 개념은 평가 가능하도록 정의해야 한다.
프로그래밍 언어
- 명령을 수행할 주체는 컴퓨터이므로 기계어로 전달해야 한다.
- 사람이 이해할 수 있는 약속된 구문으로 구성된 프로그래밍 언어를 사용해 프로그램을 작성한 후, 그것을 컴퓨터가 이해할 수 있는 기계어로 변환하는 일종의 번역기 (컴파일러 / 인터프리터) 를 이용한다.
- 프로그래밍 언어 : 컴퓨터와의 대화에 사용되는 일종의 표현 수단, 사람과 컴퓨터 모두가 이해할 수 있는 약속된 형태의 인공어다.
- 프래그래밍 언어 = 구문 + 의미의 조합
구문과 의미
- 문법만 안다고 잘하는 것은 아니다.
- 문법에 맞는 문장을 구성하는 것 + 의미를 가지고 있어야 언어의 역할에 충실히 수행한 것
const number = 'string'
console.log(number * number) //NaN
- 문법상 전혀 문제가 없지만, 의미적으로 옳지 않다.
- number 라는 이름의 변수에는 숫자를 할당하는 것이 의미적으로 옳다.
- 문제 해결 능력을 통해 만들어낸 해결 방안을 프로그래밍 문법을 통해 표현한다. (코드 === 해결 방안의 구체적 구현물)
- 프로그래밍 === 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다.