Table of Contents
프로그래밍
프로그래밍이란?
- 프로그래밍은 컴퓨터를 이용해 프로그램, 서비스, 플랫폼, 소프트웨어와 같은 것들을 만드는 것을 의미한다
- 프로그래밍을 하면 항상 특정 기능을 사용자에게 제공하기 위해 요구사항이 생기고, 그러한 요구사항을 해결하기 위한 문제 해결 능력이 필요하다
- 프로그래밍에서 문제 해결 능력을 갖기 위해서는 컴퓨팅 사고, 즉 컴퓨터 입장에서 문제를 바라볼 수 있어야 한다
프로그래밍 언어
- 우리가 고안해낸 해결 방안을 수행하는 주체는 컴퓨터이다. 그러기 위해서는 컴퓨터가 이해할 수 있는 언어로 명령을 전달해야 한다. 컴퓨터가 이해할 수 있는 언어를 기계어라고 한다. 기계어는 이진수로 이루어져 있기 때문에, 사람이 이해하는데 어려움이 있다
- 그래서 먼저 인간에게 친숙한 언어로 코드를 작성하고, 일정 단계를 거쳐 기계가 이해할 수 있는 언어로 변환해 컴퓨터에게 넘겨주는 것이 좋다. 이런 변환을 위해 보통 컴파일러 또는 인터프리터를 사용한다
- 정리하면 프로그래밍 언어는 인간 친화적이며 컴퓨터에게 명령을 전달할 수 있는 언어를 의미한다. 프로그래밍 언어에는 C언어, Java, Python, Javascript 등이 있다
자바스크립트
자바스크립트의 역사
- 1995년, 넷스케이프 커뮤니케이션즈(이하 넷스케이프)가 웹 브라우저 시장을 장악하고 있었다
- 넷스케이프 웹페이지의 보조적인 기능을 제공하기 위해, 브라우저에서 동작하는 프로그래밍 언어를 개발했고, 그게 바로 자바스크립트이다
- 이 후 자바스크립트와 비슷한 여러 언어들이 등장했고, 브라우저마다 조금씩 다른 프로그래밍 언어를 사용하게 되어 크로스 브라우징 이슈가 심각한 문제가 되었다
- 넷스케이프는 컴퓨터 시스템의 표준을 관리하는 ECMA 인터네셔널에 자바스크립트의 표준화를 요청했고, 1997년 ECMA-262라 불리는 자바스크립트 표준의 초판 사양이 완성되었다
- 상표권 문제 때문에 자바스크립트의 정식 명칭은 ECMAScript가 되었고, 2015년 ECMAScript6 (ES6) 부터 범용 프로그래밍 언어로서 갖춰야 할 다양한 기능을 갖추게 되었다
자바스크립트의 특징
- 자바스크립트는 웹 브라우저에서 유일하게 동작하는 프로그래밍 언어이다
- 자바스크립트는 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어이다. 그래서 별도의 실행 파일이 생기지 않는다
- 인터프리터 언어이지만, 런타임에 일부 코드는 컴파일러가 빠르게 동작되는 머신 코드로 변환하고, 인터프리터는 소스 코드를 런타임에 한 줄씩 즉시 바이트 코드로 변환한 후 실행함으로써 인터프리터 언어의 느린 처리 속도 문제를 많이 개선했다
- 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다
자바스크립트 성장의 촉매제
- Ajax: 비동기 방식으로 브라우저와 서버간의 데이터 교환을 가능하도록 한 기능으로, Ajax의 등장으로 브라우저는 필요한 부분의 데이터만 요청하고, 변경된 부분만 재렌더링할 수 있게 되었다.
- V8 엔진: 구글에서 개발한 자바스크립트를 해석하고 실행하는 엔진이다
- Node.js: V8 엔진으로 빌드된 자바스크립트 런타임 환경으로, Node.js의 등장으로 자바스크립트를 브라우저 밖에서도 실행할 수 있게 되었다