[자바스크립트 Deep Dive] 프로그래밍과 자바스크립트

률루랄라·2022년 2월 3일
0
post-thumbnail

1. 프로그래밍

1.1. 프로그래밍이란?

프로그래밍이란 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업을 코드로 명령을 전달하는 것이다.

1.2. 프로그래밍 언어

이때 명령을 수행할 주체인 컴퓨터가 이해할 수 있는 언어, 즉 기계어로 명령을 전달해야하는데 이는 인간이 사용하는 언어와는 너무나도 체계가 다르기 때문에 매우 어려운 일이다.
따라서 가장 좋은 방법은 사람이 이해할 수 있는 약속된 구문 (문법:syntax)으로 구성된 프로그래밍 언어를 사용해 프로그램을 작성한 후 그 언어를 기계어로 변환하는 컴파일러 또는 인터프리터 (번역기)를 이용하는 것이다.

다시말해 프로그래밍 언어란 사람과 컴퓨터 (컴파일러 또는 인터프리터) 모두가 이해할 수 있는 약속된 형태의 인공어이며 컴퓨터와 인간간 소통 (컴퓨터로의 명령)에 사용되는 일종의 표현수단이다.
즉 프로그래밍은 프로그래밍 언어를 사용해 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이며 구문(syntax)의미(semantic) 의 조합으로 표현될 수 있다.

1.3. 구문과 의미

결국 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후 (구문), 그 흐름을 제어(의미)를 통해 컴퓨터에게 실행을 요구하는 커뮤니케이션이다.

2. 자바스크립트란?

2.5. 자바스크립트의 특징

웹 브라우저에서 동작하는 유일한 프로그래밍 언어로 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어다. 인터프리터는 소스코드를 즉시 실행하고 컴파일러는 빠르게 동작하는 머신 코드를 생성하고 최적화하는 방법으로 대부분의 모던 자바스크립트 엔진 (크롬 V8)은 두 언어의 특징을 결합해 비교적 처리 속도가 느린 인터프리터의 단점을 해결했다.

[컴파일러 언어와 인터프리터 언어의 비교]

대부분의 모던 브라우저에서 사용되는 인터프리터는 복장한 과정을 거치며 일부 소스코드를 컴파일한다.

또한 자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패터다임 프로그래밍 언어로 클래스 기반 객체지향 언어보다 효율적이면서 강력한 프로토타입 기반의 객체지향 언어이다.

profile
💻 소프트웨어 엔지니어를 꿈꾸는 개발 신생아👶

0개의 댓글