JavaScript의 역사

JavaScript의 전체 잠재력을 발휘하기 위해서는 그 본질, 역사 및 제한성을 이해하는 것이 매우 중요합니다.

이 장에서는 JavaScript와 클라이언트 스크립트의 기원을 설명합니다.

Nombas와 ScriptEase

1992년대에 Nombas라는 회사가 C미니미스(C-minus-minus, 약칭 Cmm)라는 엔트리스크립트 언어를 개발했습니다. Cmm의 뒷이념은 매우 간단합니다: 매크로(macro)를 대체할 수 있는 충분히 강력한 스크립트 언어이며, C(그리고 C++)와 충분히 유사하여 개발자들이 빠르게 배울 수 있도록 합니다. 이 스크립트 언어는 CEnvi라는 공유 소프트웨어에 포함되어 있으며, 이는 개발자들에게 이 언어의 힘을 처음으로 보여주었습니다.

Nombas는 Cmm의 이름을 ScriptEase로 변경했습니다. 이는 뒷부분(mm)이 너무 부정적인 것 같았고, C는 '충격적'이라는 의미를 가지고 있었습니다.

현재 ScriptEase는 Nombas 제품 뒤의 주요 동력이 되었습니다.

Netscape가 JavaScript를 발명했습니다

Netscape Navigator가 등장했을 때, Nombas는 웹페이지에 삽입할 수 있는 CEnvi 버전을 개발했습니다. 이 초기 시도는 Espresso Page(취사와 같은 페이지)로 불리었고, 월드 와이드 웹에서 사용된 첫 번째 클라이언트 언어로 대표되었습니다. 그리고 Nombas는 그의 아이디어가 월드 와이드 웹의 중요한 기초가 될 것이라는 것을 전혀 예상하지 못했습니다.

온라인 탐색이 점점 더 인기가 되면서, 클라이언트 스크립트 개발에 대한 수요도 점점 더 커졌습니다. 그 때的大部分 인터넷 사용자들은 28.8 kbit/s의 모뎀을 통해 네트워크에 연결되었고, 그때网页는 지속적으로 더 크고 복잡해졌습니다. 그리고 사용자의 고통을 더욱 심화시키는 것은, 간단한 양식 유효성 검사를 위해 서버와 여러 번의 왕복 통신을 해야 하는 것입니다. 사용자가 양식을 채우고 제출 버튼을 클릭했을 때, 30초가 지났음에도 불구하고, 필수 필드를 채우지 않았다는 메시지를 볼 수 있습니다.

그때 Netscape는 기술 혁신의 최전선에 있었고, 간단한 처리 문제를 해결하기 위해 클라이언트 스크립트 언어를 개발하는 것을 진지하게 고려하기 시작했습니다.

그때 Netscape에서 일하던 Brendan Eich는 1995년에 출시될 예정인 Netscape Navigator 2.0을 위해 LiveScript라는 스크립트 언어를 개발하기 시작했습니다. 그 당시 목적은 브라우저와 서버(원래 LiveWire이라고 불렸습니다)의 측에서 사용하기 위함이었습니다. Netscape와 Sun은 LiveScript 구현을 신속하게 완료했습니다.

Netscape Navigator 2.0이 공식 출시되기 직전, Netscape는 그 이름을 JavaScript로 변경했습니다. 이는 인터넷의 트렌디한 단어인 Java를 활용하기 위함입니다. Netscape의 베팅은 결국 보상을 받았고, JavaScript는 인터넷의 필수 구성 요소로 자리 잡게 되었습니다.

삼족鼎立

JavaScript 1.0이 성공적이었기 때문에, Netscape는 Netscape Navigator 3.0에서 1.1 버전을 출시했습니다. 그때, 마이크로소프트는 브라우저 시장에 진입하기로 결정하고 IE 3.0을 출시하면서 JScript라는 JavaScript의 클론 버전을 출시했습니다(이 이름은 Netscape와의 잠재적인 라이선스 분쟁을 피하기 위해 사용되었습니다). 마이크로소프트가 웹 브라우저 시장에 진입한 이 중요한 단계는 그의 명성을 떨어뜨렸지만, JavaScript 언어의 발전 과정에서 중요한 단계가 되었습니다.

마이크로소프트가 참여한 후, Netscape Navigator 3.0에서의 JavaScript, IE에서의 JScript 및 CEnvi에서의 ScriptEase와 같은 3가지 다른 JavaScript 버전이 동시에 존재했습니다. C 및 다른 프로그래밍 언어와 달리, JavaScript는 문법이나 특성을 일관되게 하는 표준이 없으며, 이 3가지 다른 버전은 이 문제를 강조합니다. 업계의 우려가 증가함에 따라, 이 언어의 표준화는 필수적이었습니다.

표준화

1997년, JavaScript 1.1은 유럽 컴퓨터 제조업자 협회(ECMA)에 제안되었습니다. 제 39 기술 위원회(TC39)는 '일반적이고 플랫폼 간 중립적이며 제조업체에 중립적인 스크립트 언어의 문법 및 의미를 표준화하도록' 위임받았습니다.http://www.ecma-international.org/memento/TC39.htm) Netscape, Sun, 마이크로소프트, Borland 및脚本 프로그래밍에 관심이 있는 다른 회사의 프로그래머들이 구성된 TC39가 ECMA-262를锤炼했습니다. 이 표준은 ECMAScript라는 새로운 스크립트 언어의 이름을 정의합니다.

다음 몇 년 동안 국제 표준화 기구 및 국제 전기 공학 위원회(ISO/IEC)도 ECMAScript를 표준으로 채택했습니다(ISO/IEC-16262). 이제부터 웹 브라우저는 ECMAScript를 기본으로 JavaScript를 구현하려고 노력하기 시작했습니다(성공과 실패의 정도는 다릅니다).