이때 요구되는 것이 문제 해결 능력!!
1) 문제(요구사항)을 명확히 이해
2) 복잡함을 단순하게 분해
3) 자료 정리하고 구분
4) 순서에 맞게 행위를 배열해야 한다
문제 해결 방안을 고려할 때 컴퓨터의 입장에서 문제를 바라봐야 한다
컴퓨팅 사고 vs 인간의 사고
: 인간이 당연하다고 생각하는 영역까지 나눠서 경우의 수를 나눠줘야 한다.
기계어 vs 자연어
사람이 이해할 수 있는 언어를 자연어라고 하고
컴퓨터가 이해할 수 있는 언어를 기계어라고 한다
사람이 기계어를 이해해서 기계어로 직접 명령을 전달하는 것은 매우 어려운 일이다
1) 프로그래밍 언어로 프로그램 작성
2) 컴퓨터가 이해할 수 있는 기계어로 변환하는 일종의 변역기(컴파일러, 인터프리터)를 이용한다
정리 : 프로그래밍 언어 (사람, 컴파일러) / 기계어 (컴퓨터)
사람 - 프로그래밍 언어 -> 컴파일러-기계어-> 컴퓨터
언어의 의미는 문맥에 있는 것이지 문법에 있는 것이 아니다!
그러므로 문법만 맞고 의미에 어긋나는 코드는 지양한다
const number = "string" //숫자를 할당하는 것이 의미적으로 옳다
cf.대부분의 프로그래밍 언어 공통 문법