2011.11.18

인터뷰 : 구글 다트가 자바스크립트보다 우월한 이유

Paul Krill | InfoWorld
구글이 지난 달 웹 프로그래밍 언어인 다트(Dart)를 공개했다. 다트는 자바스크립트의 단점을 보완하도록 고안됐지만, 일부에서는 자바스크립트 킬러로 칭하기도 한다. 대규모 프로그램과 팀 기반 개발 작업을 지원하는 다트는 객체 지향 언어이며 가상 머신을 사용한다. 최근 인포월드는 새 언어에 대한 구글의 의도를 더 정확히 파악하기 위해 다트의 수석 소프트웨어 엔지니어인 라스 백을 만났다.
 
구글 다트의 목적에 대해 설명해달라. 사람들이 말하는 대로 자바스크립트 킬러인가?
과장된 표현이라고 생각한다. 우리가 하고자 하는 일은 개발자가 대안을 갖도록 하는 것이다. 특히 대규모 애플리케이션을 개발하는 애플리케이션 개발자를 대상으로 한다. 자바스크립트는 간단한 웹 애플리케이션에는 뛰어난 언어지만 애플리케이션 규모가 커지면 자바스크립트로는 프로그램 구조를 유지하기가 점점 더 어려워진다. 다트는 기본적으로 대규모 애플리케이션에도 잘 맞는 프로그래밍 언어가 되도록 설계됐으며, 동일한 소스 베이스에 여러 팀이 참여해 작업하는 프로그램 개발 방식도 지원한다.
 
다트가 구조적 웹 프로그래밍을 위한 언어라는 의미인가?
그렇다. 다트로 작은 애플리케이션도 만들 수 있지만 애플리케이션이 확장됨에 따라 프로그램에 형식을 추가하고 이렇게 해서 프로그래머의 의도를 명시할 수 있다. 따라서 모듈을 만드는 경우, 인터페이스에 지정된 형식을 기반으로 모듈의 정확한 사용 방법을 알 수 있고, 다트에서 이를 확인할 수도 있다. 동일한 소스에 대해 규모가 상당히 큰 팀들이 작업하는 경우 이 기능이 실질적으로 많은 도움이 된다.
 
클라이언트와 서버 모두에서 다트가 실행되는 데서 얻는 이점은 무엇인가?
양쪽에서 모두 실행되는 다른 모든 언어와 마찬가지다. 코드를 서버에서 실행할지 클라이언트에서 실행할지 프로세스 후반에 결정할 수 있다. 웹 애플리케이션을 제작하는 경우 클라이언트가 매우 다양하다는 점을 염두에 두어야 한다. 데스크톱에는 강력한 웹 브라우저가 있으므로 클라이언트 측에 많은 로직을 넣을 수 있다. 그러나 모바일 폰 웹 브라우저라면 부담을 덜기 위해 일부 코드를 서버 측에 두는 경우가 많다. 애플리케이션이 서버 측과 클라이언트 측 모두에서 동일한 언어로 작성되는 경우, 코드를 어디에서 실행할지 선택할 수 있다.
 
다트가 실제로 자바스크립트 코드에 따른다는 점은 이해하겠다. 그렇다면 왜 그냥 자바스크립트를 쓰지 않는가?
다른 부분이 있기 때문이다. 우리에게는 더 높은 성능과 더 빠른 시작 시간을 제공하는 언어를 위해 개발된 다트 가상머신이 있다. 내가 생각하는 자바스크립트의 문제점 중 하나는 대용량 애플리케이션의 경우 자바스크립트로 웹 애플리케이션을 시작하는 데 오랜 시간이 걸린다는 점이다. 다트 VM을 사용한 적이 있다면 알겠지만, 애플리케이션 시작 시간을 10배 더 빠르게 해주는 스냅샷팅이라는 인프라스트럭처가 있다. 웹 애플리케이션은 갈수록 커지고 있고, 이렇게 규모가 커질수록 시작 성능은 더욱 중요해진다.
 


2011.11.18

인터뷰 : 구글 다트가 자바스크립트보다 우월한 이유

Paul Krill | InfoWorld
구글이 지난 달 웹 프로그래밍 언어인 다트(Dart)를 공개했다. 다트는 자바스크립트의 단점을 보완하도록 고안됐지만, 일부에서는 자바스크립트 킬러로 칭하기도 한다. 대규모 프로그램과 팀 기반 개발 작업을 지원하는 다트는 객체 지향 언어이며 가상 머신을 사용한다. 최근 인포월드는 새 언어에 대한 구글의 의도를 더 정확히 파악하기 위해 다트의 수석 소프트웨어 엔지니어인 라스 백을 만났다.
 
구글 다트의 목적에 대해 설명해달라. 사람들이 말하는 대로 자바스크립트 킬러인가?
과장된 표현이라고 생각한다. 우리가 하고자 하는 일은 개발자가 대안을 갖도록 하는 것이다. 특히 대규모 애플리케이션을 개발하는 애플리케이션 개발자를 대상으로 한다. 자바스크립트는 간단한 웹 애플리케이션에는 뛰어난 언어지만 애플리케이션 규모가 커지면 자바스크립트로는 프로그램 구조를 유지하기가 점점 더 어려워진다. 다트는 기본적으로 대규모 애플리케이션에도 잘 맞는 프로그래밍 언어가 되도록 설계됐으며, 동일한 소스 베이스에 여러 팀이 참여해 작업하는 프로그램 개발 방식도 지원한다.
 
다트가 구조적 웹 프로그래밍을 위한 언어라는 의미인가?
그렇다. 다트로 작은 애플리케이션도 만들 수 있지만 애플리케이션이 확장됨에 따라 프로그램에 형식을 추가하고 이렇게 해서 프로그래머의 의도를 명시할 수 있다. 따라서 모듈을 만드는 경우, 인터페이스에 지정된 형식을 기반으로 모듈의 정확한 사용 방법을 알 수 있고, 다트에서 이를 확인할 수도 있다. 동일한 소스에 대해 규모가 상당히 큰 팀들이 작업하는 경우 이 기능이 실질적으로 많은 도움이 된다.
 
클라이언트와 서버 모두에서 다트가 실행되는 데서 얻는 이점은 무엇인가?
양쪽에서 모두 실행되는 다른 모든 언어와 마찬가지다. 코드를 서버에서 실행할지 클라이언트에서 실행할지 프로세스 후반에 결정할 수 있다. 웹 애플리케이션을 제작하는 경우 클라이언트가 매우 다양하다는 점을 염두에 두어야 한다. 데스크톱에는 강력한 웹 브라우저가 있으므로 클라이언트 측에 많은 로직을 넣을 수 있다. 그러나 모바일 폰 웹 브라우저라면 부담을 덜기 위해 일부 코드를 서버 측에 두는 경우가 많다. 애플리케이션이 서버 측과 클라이언트 측 모두에서 동일한 언어로 작성되는 경우, 코드를 어디에서 실행할지 선택할 수 있다.
 
다트가 실제로 자바스크립트 코드에 따른다는 점은 이해하겠다. 그렇다면 왜 그냥 자바스크립트를 쓰지 않는가?
다른 부분이 있기 때문이다. 우리에게는 더 높은 성능과 더 빠른 시작 시간을 제공하는 언어를 위해 개발된 다트 가상머신이 있다. 내가 생각하는 자바스크립트의 문제점 중 하나는 대용량 애플리케이션의 경우 자바스크립트로 웹 애플리케이션을 시작하는 데 오랜 시간이 걸린다는 점이다. 다트 VM을 사용한 적이 있다면 알겠지만, 애플리케이션 시작 시간을 10배 더 빠르게 해주는 스냅샷팅이라는 인프라스트럭처가 있다. 웹 애플리케이션은 갈수록 커지고 있고, 이렇게 규모가 커질수록 시작 성능은 더욱 중요해진다.
 


X