'ECMAScript'에 해당되는 글 4건

  1. 2011.10.12 JavaScript. The Core (3)
  2. 2011.05.08 자바스크립트. 그 다음 구글 Traceur (2)
  3. 2007.12.19 State of ECMAScript 4 ('07 12)
  4. 2007.11.05 ECMAScript edition 4 발표!! 및 저의 계획
블로그 포스팅 정말 오랜만이네요. 
그런데 쓸 내용도 없지만 막상 쓰려니 문체를 어떻게 해야할지 애매해지네요. ㅋㅋㅋ

러시아 자바스크립트 에반젤리스트 Dmitry A. Soshnikov 가 작성한 JavaScript. The Core 를 번역하였습니다.

원본 : http://dmitrysoshnikov.com/ecmascript/javascript-the-core/
번역 : http://frends.kr/topics/javascript-core/

시간이 된다면 한번쯤 읽어 보면 좋겠네요.
추가적으로 위의 내용을 좀더 요약 정리한 내용은 Function works in JavaScript 에서 참고하세요. 


 
신고

'JavaScript > Core' 카테고리의 다른 글

JavaScript. 실행 컨텍스트 이해(Execution Contexts)  (2) 2011.10.23
JavaScript. The Core  (3) 2011.10.12
JavaScript History 정리 자료  (0) 2011.06.24
jQuery의 현재 그리고 미래  (0) 2008.10.07
Posted by Rhio.kim

구글과 자바스크립트


차세대 자바스크립트라는 글을 쓰기에 앞서 구글에 대해서 간략히 정리가 필요하다.

구글은 ECMA-262 4th 스펙 표준화에 참여하였고 다른 브라우저 벤더들도 참가하였다.


이때의 ECMA Technical Committe 39(TC39)가 진행한 ECMA-262 4 번째 스펙

(이때의 ECMA Technical Committe 39(TC39) 가 진행한 프로젝트 명은  Harmony!)


브라우저 벤더들이 대부분이였고 Adobe도 참여하였었다.  많은 이야기가 메일링으로 오갔으며 스펙의 분량은 점점 넓어지고 많은 부분의 사양을 재 작성하는 상황에 이르렀고 결국 실패로 돌아가게 되었습니다.  하지만 어느 정도의 뼈대가 갖춰졌었는지 Adobe 는 최종 권고가 나지 않는 스펙의 일부를 ActionScript 에 적용하였고. ActionScript 3.0 으로 2.x 이하 버젼보다 좀더 객체 지향적인 언어로 탈바뀜하게 되었습니다.


이때 즈음 구글은 ECMA 활동뿐 아니라 HTML5 의 주도적인 표준화에 참여하였고 JavaScript 의 표준 사양인 ECMA-262 표준에도 공헌하였다.
 

물론 이는 앞으로의 웹 시장에 굉장히 중요한 역할을 할것이라는 것을 충분히 알았고 자사의 다양한 플랫폼 유지, 개발을 위한 Go, Python 과 같이 기본 언어가 될 것이기에 나름 철학을 담아 노력을 해왔던 것이다.


(비록 실패로 돌아갔던 Harmony 프로젝트이지만 구글은 변화의 필요성을 알고 있고, 그때의 불 필요한 기업간의 의견 마찰을 피하고 좀더 나은 방식을 택한 것이라 보여진다. ) 
비록 실패로 돌아갔던 4번째 표준안은 stritc mode, native JSON 이 추가되어 ECMA-262 5th 로 발표하게 되었고 4번째 표준안에서 나온 이야기는 harmony 라는 프로젝트로 최근까지 논의되어 왔다.   


구글도 다음 세대의 자바스크립트 표준안을 위해 개발자 커뮤니티의 의견을 수렴하기 위해 오늘 소개하려는 Traceur프로젝트는 진행하고 있다.


자바스크립트는 오픈 웹 기술의 일부이고 이젠 커뮤니티의 힘으로도 충분히 표준안을 정립해 갈 수 있다고 생각한 것이다. 


사실 개인적인 잡담이고 더글러스 크록포드도 이와같이 이야기 했지만 ECMA 표준 재단은 정신을 차리고 열의를 보였으면 한다는 말을 하고 싶다.
 

그래야 나같은 자바스크립트를 주로 하는 프론트앤드 기술자들이 플레이 그라운드를 좀 누빌것 아닌가?





다음 세대의 자바스크립트


이번 JSConf 2011 에서는 차세대 자바스크립트에 대한 제안하는 세션들이 몇가지 선보였다. 그중에 CoffeeScript 에 대한 이야기와 구글의 Traceur 를 제안하었다. 

그리고 몇일전 구글은 트레이서 컴파일러 프로젝트를 발표했다. 물론 google code 를 통해 오픈 소스 기반으로 진행된다.  


내용을 살펴보니 차세대 자바스크립트라는 명목하에 ECMA-262 4th 표준 마련이 실패로 돌아가 그때 협의된 결과를 가지고 커뮤니티의 힘을 빌어 새롭게 진행하고자 하는 것이 살짝 엿보인다.


일단 목표는 자바스크립트 언어의 새로운 기능들이 추가되고 좀더 향상시켜 브라우저에서 직접적으로 컴파일 될 수 있고 또한 이로써 속도를 향상 시키는데 있다.


그럼 Traceur를 약간 살펴볼까 한다.
 


Getting Started


간단히 hello world 를 특정 엘리먼트에 표시하는 데모는 다음과 같다.


<html>

  ...

  <body>

    <script type="text/traceur">

      class Greeter {

        new(message) {

          this.message = message;

        }


        greet() {

          let element = document.querySelector('#message');

          element.innerHTML = this.message;

        }

      };


      let greeter = new Greeter('Hello, world!');

      greeter.greet();

    </script>

    ...

  </body>

</html>


위의 코드에서 평범하지 않는 ECMAScript 가 두군데 있다. 그것은 class 정의와 let 변수 설정 부분이다. 또 하나 특별한게 있다면 script 태그의 type 이 text/traceur 이라는 것이다.


Compiling


<html>

  <head>

    ...

    <script src="http://traceur-compiler.googlecode.com/svn/branches/v0.10/src/traceur.js"

        type="text/javascript"></script>

  </head>

  ...

</html>


컴파일을 해보고자 한다면 위와 같이 traceur.js 를 text/javascript 형태로 추가를 해주어야 하며 traceur.js 는 트레이서 자바스크립트 컴파일러 의 진입점이고 이 라이브러리 자체만으로는 아무것도 할 수 없고 bootstrap.js 를 함께 추가해야 traceur 코드를 컴파일할 수 있게 된다.


<html>

  <head>

    ...

    <script src="http://traceur-compiler.googlecode.com/svn/branches/v0.10/src/traceur.js"

        type="text/javascript"></script>

    <script src="http://traceur-compiler.googlecode.com/svn/branches/v0.10/src/bootstrap.js"

        type="text/javascript"></script>

  </head>

  ...

</html>



Language Features


트레이서에서 제공하는 모든 분법은 ECMA-262 4th 스펙에서 모두 논의되었던 내용을 기반으로 하고 있다.

부연 설명은 없고 제공하는 스펙 문서를 통해 습득하기를 권장한다.


Traceur Language Feature : http://code.google.com/p/traceur-compiler/wiki/LanguageFeatures

ECMA-262 4th proposal : http://wiki.ecmascript.org/doku.php?id=harmony:proposals



앞으로


국외 커뮤니티에서는 자바스크립트의 새로운 이름이 필요하지 않겠냐는 이야기(JavaScript needs a new name. What should it be?)도 오가기도 하고 있고 구글의 이런 실험은 다음 자바스크립트에 어떤 변화를 가져다 줄지 기대되고 개인적으로는 단순히 실험에서 끝나지 않고 많은 공헌자에 의해서 발전되고 개발자들에게 친근한 언어로 많이 갖춘 언어로 발전하였으면 한다.


가장 중요한건 표준 사양이 되어야 하고 스펙 문서도 좀 발전되었으면 한다는 것. ^-^/



Reference
 

 - http://code.google.com/p/traceur-compiler/ 

 - JSConf 2011 : http://traceur-compiler.googlecode.com/svn/branches/v0.10/presentation/index.html#1

 - Traceur Demo : http://traceur-compiler.googlecode.com/svn/branches/v0.10/demo/repl.html



See More


글을 올려는 시점에서 국외에서도 포스팅이 있어 함께 읽어보면 좋을 것 같다. http://www.i-programmer.info/news/98-languages/2395-javascript-creator-talks-about-the-future.html

이 친구 이번 JSConf 2011에서 차세대 자바스크립트(CoffeeScript)에 대한 제안을 했다.

그리고 차세대 표준화에서 실패를 번복해서는 안된다고 글의 마지막에 제안하고 있다. 동감하는 바이다.


이런 변화를 보니 ECMAScript 3번째 스펙에서 5번째 스펙이 나오기까지의 기간보다 더 빠르게 6번째 사양의 표준화는 빠르게 진행되리라 예상되어진다.

2011.5.10 추가.

The Future of JavaScript is in Your Hands : http://www.readwriteweb.com/hack/2011/05/developers-the-future-of-javas.php 

신고
Posted by Rhio.kim
ECMAScript 4가 발표한지도 한달 정도 흘렀습니다.

대부분의 브라우저에서 이를 지원하기 위해서 각 기술 팀들이 불철주야 발빠르게 뛰고 있겠죠??

사용자 삽입 이미지



















ECMAScript 4 Reference Implementation (ES4 RI)
ECMA TG에서 ES4를 활용하기 위한 참조 도구를 계속해서 제공하고 있습니다.

Tamarin 은 모질라와 Adobe 공동으로 Open Source Adobe VM 에 적용하고 있습니다.
이는 FireFox3 와 Flash 10에서 지원되고 있습니다.

Spidermonkey 스파이더 멍키는 FireFox 의 새로운 자바스크립트 엔진입니다. 스파이더 멍키에
ES4 스펙과 매치되는 새로운 기능들이 계속해서 업데이트 되고 있습니다.
이 프로젝트는 기존의 ActionMonkey 를 대신하게 될 것입니다.

Rhino 는 Java 도구인데 최근에 ES4 스펙을 추가하여 업데이트 되고 있습니다.

Futhrk 는 opera에서 사용되는 javascript 엔진입니다. 조금씩 업데이트 되고 있네요..
가장 저조하지만 이것은 Opera 10에서도 그대로 사용될 계획입니다.

Mbedthis 는 임베디드형 웹 어플리케이션를 위한 스크립트 언어인데요.
최근에 모바일과 C나 Java VM으로 개발되어진 javascript 위젯 형식의 기능을 모바일 기기에서 수행하기 위해서 업데이트 되고 있습니다.

모질라와 Opera에서는 빠른 변화를 보여주고 있는데
IE는 도대체 IE8 을 개발하면서 계속에서 나오는 메모리 누수 문제며 W3C 업데이트된
CSS Griding Positioning 에 대한 언급만하고 이런 ES4에 대한 적용은 어떻게 되가고 있는지는
알려주 않네요.  제발 표준에 의거해서 추가하지 않고 기본에 충실했으면 좋겠는데..

사파리도 빨리 국내에 대응하는 브라우저로 거듭나도록 빠른 대응이 있었으면 좋겠네요..
신고
Posted by Rhio.kim
사용자 삽입 이미지

ECMAScript edition 4가 발표 되었습니다.

ECMA-262 에 비하면 새로운 랭귀지에 더 가깝다고 보고 싶고 java like 라고 할 수도 있겠습니다.

ECMA Script : http://www.ecmascript.org/index.php
ECMA Script edition 4 download : http://www.ecmascript.org/download.php


core ES4 에서 Javascript 2.0 에 대한 새로운 자료를 기재해볼 계획입니다.
현재 오픈된 es 클래스에 대한 소스 분석과 사실 이부분이 가장 흥미롭습니다.
기존에 javascript native 소스와도 다를 바 없을 것 같습니다.

보면서 큰 도움이 될 것 같구요.

기대해주시고 저도 기대됩니다...
신고
Posted by Rhio.kim