
미루고 미뤄왔던 모던스크립트 Deep Dive 정리를 해보도록 하겠습니다.
이번에 면접을 몇 군데 보면서 CS 지식 혹은 제가 다루고 있는 언어의 개념들이 정말 중요하다고 느꼈어요.
구현에만 초점을 맞추고 학습한 것 같아서, 조금은 개념적인 부분을 공부하기 위해 미뤄뒀던 공부를 해보려고 합니다.
1-1) 프로그래밍이란?
프로그래밍은 컴퓨터에게 실행을 요구하는 커뮤니케이션이라고 할 수 있습니다.
만약에 우리가 어떠한 문제를 해결하고 싶다면, 먼저 요구사항을 명확히 정의해서 전달해 주는 것이 좋겠죠?
프로그래밍 = 문제 해결을 코드로 표현하는 과정
컴퓨터는 사람처럼 직관적으로 이해하지 못하기 때문에, 논리적으로 문제를 분해하고, 패턴을 추출하고, 평가가 가능한 형태로 변환해주어야 합니다. 이를 컴퓨팅 사고라고 합니다.
예를 들어, "소리를 듣는다"라는 개념을 컴퓨터가 이해하려고 하면,
- 사람: "소리를 듣는다" → 직관적으로 이해
- 컴퓨터: "소리 크기를 측정하고, 특정 값 이상이면 '듣다'라고 판단한다" → 직관적으로 이해 불가능
이처럼 컴퓨터는 모호한 개념을 이해하지 못하며, 수치화된 명령이 필요합니다.
1-2) 프로그래밍 언어란?
컴퓨터는 기본적으로 기계어(0과 1)만 이해합니다. 하지만 사람이 기계어를 직접 다루기 어렵기 때문에, 프로그래밍 언어가 등장했습니다.
프로그래밍 언어의 역할
- 사람이 이해하기 쉬운 코드 작성
- 컴파일러/인터프리터가 기계어로 변환
- 컴퓨터가 실행
예시
기계어
7 45 4C 46 01 01 01 00 00 00 00 00 00 ...
JavaScript 코드
console.log("Hello World");
결론적으로 프로그래밍 언어는 사람이 이해하기 쉬운 방식으로 컴퓨터에게 명령을 전달하는 도구입니다.
1-3) 구문과 의미
프로그래밍을 배우면서 문법을 익히는 것이 중요하지만, 문법 + 의미 = 올바른 코드입니다.
const number = "string";
console.log(number * number); // NaN
이 코드는 문법적으로는 문제가 없지만, number
변수에 문자열을 할당했기 때문에 의미적으로 틀렸습니다.
프로그래밍의 핵심은 문법뿐만 아니라, 요구사항을 정확히 반영하는 코드를 작성하는 것입니다.
1-4) 프로그래밍의 목적
결국 프로그래밍이란
- 문제를 해결하는 과정
- 요구사항을 코드로 표현하는 기술
- 컴퓨터와 소통하는 방법
이라고 할 수 있습니다.
그래서 프로그래밍을 잘하려면 문제 해결 능력을 키우고 논리적으로 사고하는 연습을 하며, 의미 있는 코드를 작성하는 습관이 중요합니다.
'Front-End > 모던 자바스크립트 Deep Dive 정리' 카테고리의 다른 글
모던 자바 스크립트 Deep Dive - 3장, 4장 (0) | 2025.02.19 |
---|---|
모던 자바스크립트 Deep Dive - 2장 (4) | 2025.02.18 |
프론트엔드 공부 기록 및 나의 성장기
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!