[딥다이브] #01 프로그래밍이란?

LastCarol·2022년 7월 12일

프로그래밍이란

컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션
요구사항을 명확히 이해하고 적절한 문제 해결방안을 정의할 필요가 있음

프로그래밍이란 0과1 밖에 모르는 컴퓨터에게 정확하고 상세하게 요구사항을 설명하는 작업
컴퓨팅 사고 방식을 요구함
ex) 사람은 소리의 크기를 크다 작다로 표현하지만 컴퓨터는 표현 못함 현재 볼륨보다 1단계 크게조정 등과 같이 명령해야함
즉 정리하면 프로그래밍은 프로그래밍 언어를 사용하여 컴퓨터에게 명령하는 커뮤니케이션

프로그래밍 언어란?

컴퓨터는 기계어로 이해할 수 있는데 사람은 기계어를 사용하기 어려움 그래서 약속된 구문 즉 프로그래밍 언어를 사용하여 컴파일러에게 전달하면 컴파일러가 기계어로 번역해서 컴퓨터에게 명령함
컴파일러(인터프리터)가 번역기 역할을 함

구문과 의미

프로그래밍 언어도 일본어 중국어 한국어와 마찬가지로 언어임
언어는 적절한 구문과 의미로 이루어져야 하는데 프로그래밍 언어도 마찬가지임

const number = 'string';
console.log(number * number); //NaN

위 코드를 보면 number라는 변수에 string이라는 문자열을 할당하고 문자열이 들어간 number를 서로 곱하라는 의미인데 문자열 끼리 곱하는 것은 의미적으로 옳지 않기 때문에 NaN이라는 오류가 발생한다.

즉 준제 해결 능력을 통해 맞는 프로그래밍 문법을 사용해서 표현해야되고 의미와 문법적으로 올바르면 수행하고자 하는 것을 정확히 수행한다 (요구사항이 실현)된다.

문제 -> (문제해결 능력) -> 해결방안 -> 문법/의미 -> 코드

대부분의 프로그래밍언어는 변수의 값을 저장하거나 연산자를 통해 값을 연산하거나 조건문과 반복문을 통해 흐름을 제어하거나 함수로 재사용 가능한 집합체를 만들며 객체 배열 등으로 자료를 구조화 한다.

결론은 프로그래밍이란 요구사항을 분석하여 해결방안은 생각해내고 이를 프로그래밍언어로 만드는데 프로그래밍 언어는 요구사항 집합을 분석하여 적절한 자료구조 혹은 함수로 변환한 후 흐름을 제어하는 것이다.

profile
프론트엔드 엔지니어가 되기 위해 노력합니다.

0개의 댓글