본문 바로가기
IT 정보

자바스크립트의 탄생과 ECMAScript 역사 정리

by 삼모리 2019. 2. 14.

최근 발표된 해커랭크 인기 언어 순위에서 자바스크립트는 자바를 제치고 1위를 차지하였습니다. 과거 저질 언어로 폄하되던 자바스크립트의 현재 위상을 보면 격세지감을 느낄 정도인데요. 오늘은 자바스크립트의 탄생과 함께 ECMASCript의 역사를 정리해볼까 합니다. 


javascript 탄생과 역사

1. 자바스크립트의 탄생

자바스크립트는 1995년 넷스케이프에서 일하고 있던 브랜든 아이크에 의해 만들어졌습니다. 브랜든 아이크는 자바스크립트 외에도 파이어폭스를 만든 엔지니어로 10일만에 자바스크립트를 설계했다고 하죠. 


최초의 자바스크립트는 Mocha라는 이름으로 발표가 되었다가 이 후 LiveScript라는 이름을 거쳐 최종적으로 Javascript라는 이름을 갖게 되었습니다. 사실 자바스크립트는 Java와는 아무런 연관이 없지만, 당시 Java의 유명세에 묻어가려는 마케팅 적인 이유로 이름이 붙여졌습니다.


2. 브라우저 전쟁과 자바스크립트

자바스크립트는 브라우저 전쟁의 역사와 매우 밀접한 관계를 가지고 있습니다. 브라우저 전쟁은 1차, 2차, 3차로 나누는데요. 1차 브라우저 전쟁의 시작은 넷스케이프의 네비게이터라는 브라우저와 MS의 인터넷 익스플로러의 경쟁에서 비롯되었습니다.


1) 1차 브라우저 전쟁 (1995~2001년)

1차 브라우저 전쟁에서 넷스케이프는 브라우저의 동적 기능을 담당하는 자바스크립트와 스타일을 담당하는 CSS를 개발하였습니다. 그러면서 많은 인기를 얻게 되었는데요. 이에 대항하기 위해서 MS에서는 J스크립트라는 자바스크립트 짝퉁(?)을 개발합니다.


전반적으로 기술력은 넷스케이프가 앞서는 형세였지만, MS는 윈도우 OS에 IE를 기본으로 탑재 시키면서 점차 점유율을 확대해갔죠. 결국 MS 마케팅의 승리로 1차 브라우저 전쟁은 인터넷 익스플로러의 승리로 끝납니다. 그 결과 넷스케이프는 망하게 되고 남아 있던 개발자들은 인터넷 익스플로러에 대항하기 위해 모질라 재단을 설립하게 됩니다.


2) 2차 브라우저 전쟁 (2004~2018년)

이 후 인터넷 익스플로러(IE)의 압도적인 점유율이 한동안 유지되었고, 모질라 재단에서는 2004년 파이어폭스를 발표합니다. 파이어폭스는 IE와 경쟁하며 점유율을 30%까지 끌어올렸고, 사파리, 오페라 같은 브라우저가 적은 점유율을 가지고 있었습니다.

이 후 2008년 구글에서 크롬을 발표하였습니다. 당시 브라우저 전쟁에서 아무도 신경쓰지 않았던 크롬은 V8이라는 자바스크립 엔진을 개발하여 엄청난 성능과 기술력으로 빠르게 점유율을 확보해나갔죠. 그리고 2013년에는 급기야 인터넷 익스플로러의 아성을 무너뜨리고 점유율 1위를 차지하였습니다. 결국 2차 브라우저 전쟁은 아무도 예상하지 못했던 구글 크롬의 승리로 끝이 나게 됩니다. 

javascript를 사용하는 브라우저 점유율 순위

 

3. ECMAScript의 역사

1) 표준화 제정의 필요

자바스크립트는 넷스케이프에서 개발하였습니다. 그리고 그에 대항하기 위해 MS에서는 J스크립트를 만들었죠. 이처럼 브라우저 마다 스크립트 언어가 다르게 때문에 서로 호환이 되지 않고 파편화가 생기기 시작했습니다. 파편화는 간단히 말해서 똑같은 코드인데 어떤 브라우저에서는 제대로 실행되고 어떤 브라우저에서는 에러가는 현상을 의미합니다.


이런 파편화를 막으려면 표준을 만드는 것이 중요합니다. 그래서 넷스케이프는 96년 11월에 브라우저에서 돌아가는 스크립트 언어를 표준화하기 위해서 Ecma 인터네셔널이라는 국제 표준화 기구에 자바스크립트 기술 규격 제정을 요청합니다. 


2) Ecma 인터네셔널

참고로 Ecma 인터네셔널이라는 곳은 C++, C#, CLI, 파일구조, JSON 등 다양한 표준을 제정하는 기구입니다. 과거에는 ECMA(European Computer Manufatures Association)이라는 유럽 컴퓨터 제조 협회였지만 지금은 Ecma 인터네셔널로 이름을 바꿔 유럽 뿐 만 아니라 전 세계적인 표준화 작업을 하는 국제 표준화 기구입니다.


Ecma 인터네셔널 공식 사이트 : https://www.ecma-international.org/


넷스케이프가 제안한 자바스크립트 기술 규격은 이 후 ECMA-262 라는 이름으로 표준화 작업이 진행됩니다. 그리고 97년 ES1의 발표를 시작으로 현재 ES8까지 발표되었습니다. (ECMAScript 버전별 공식 문서 주소)


3) ES1 ~ ES3 (1997~1999년)

97년 ES1을 시작으로 98년 ES2, 99년 ES3가 발표되었습니다. ES3에서는 try/catch 문법이 들어갔습니다.


4) ES4 (폐기)

이 후 ES4 표준 작업이 진행되었지만 언어에 얽힌 정치적인 견해 차이로 ES4 명세는 폐기되었습니다.


5) ES5 (2009년)

우여곡절 끝에 ES5가 제정되었습니다. 이 때 strict mode 등이 추가 되었죠. 하지만 IE의 J스크립트는 아직도 addEventListner와 attachEvent 같은 J스크립트만의 문법을 사용하는 등 여전히 Cross-browsing 문제가 발생하고 있었습니다.


6) ES6 (2015년)

ES6는 ECMAScript 2015라고도 합니다. 2015년에는 브라우저 점유율에서 구글 크롬이 IE를 크게 앞서면서 독자적인 노선을 가던 MS의 행보에 변화가 생기기 시작합니다. 그러면서 MS에서는 ECMAScript 표준을 최대한 따르는 IE Edge를 발표하기도 하였죠. ES6에서는 class, module 등이 적용되었고, 콜백 지옥을 해결할 Promise와 함수형 프로그래밍 및 Typescript의 기능이 문법적으로 흡수되기도 하였습니다. 


7) ES7 (2016년)

자바스크립트는 2015년 이 후 빠르게 발전하기 시작했고, 매년 표준을 발표하기 이르렀습니다. ES7은 ECMAscript 2016이라고도 하며, 제곱연산자 (**)와 Array.includes가 적용되었습니다.


8) ES8 (2017년)

Promise가 등장했던 것만큼 중요한 async, await가 적용되었습니다. 이 후 나오는 ES표준은 편의상 ES.Next 또는 ECMAScript 2017+라고 부릅니다. 


4. 현재의 자바스크립트

브라우저 전쟁에서 IE가 패배하면서 ES5 부터 자바스크립트 표준 제정이 원활하게 이루어 졌고, Ajax, jQuery의 등장으로 자바스크립트는 1차 부흥기를 거쳤습니다. 그리고 이 후 Node.js의 등장과 Angular, React, Vue 등 다양한 프레임워크와 라이브러리나 나오면서 거침없이 발전하였죠. 


전 세계 개발 언어 순위


most popular language is Javscript


2019년 현재 개발자들 사이에서 가장 인기 있는 언어 1위는 자바스크립트입니다. 한동안 1위를 차지하던 자바를 제치고 왕좌에 올랐죠. 과거 자바의 명성에 엎혀가려고 했던 자바스크립트의 탄생 과정을 생각하면 참 격세지감을 느끼게 되는데요. 이제 자바스크립트는 웹에서만 사용되는 언어가 아닌 프론트엔드, 백엔드, 심지어 IoT분야와 머신러닝 영역까지 그 범위를 넓혀가고 있습니다. 과연 앞으로 어느정도까지 자바스크립트가 개발 언어를 평정해갈지 기대가 됩니다. 



댓글