본문 바로가기

IT/과학 /탐구

구글 프로그램언어 DART 다트 소개!!

“다트는 객체 지향 언어로 개발자가 웹 기반의 대규모 애플리케이션 코딩시 발생할 수 있는 실행문제를 쉽게 해소할 수 있게 개발됐다”라며 “아직 초기 버전이지만 향후 웹 프로그래밍에서 빠질 수 없는 존재가 될 것으로 기대한다”라고 소개했다.

구글은 자바스크립트와 달리 대규모 프로젝트와 소규모 프로젝트도 쉽게 개발할 수 있게 만들어졌으며, 단일 코드 블록을 피힐 수 있다고 소개했다. 또 동적 타입 지정과 정적 타입 지정을 모두 지원해 개발자가 변수를 추가하는데 좀 더 유연하다고 밝혔다. 기존 언어가 정적 언어와 동적 언어 사이에 선택을 강요하는 것과 달리, 다트는 자유로운 코딩을 지원한다는 설명

라스 박 구글 다트팀 소프트웨어 엔지니어는 10월10일(현지기준) 자사 공식 블로그를 통해 “유연하면서도 구조적인 새로운 웹 프로그래밍 언어인 다트를 소개한다”라고 발표했다.

자바스크립트는 현재 세계에서 가장 널리 사용되는 프로그래밍 개발 언어 중 하나다. 이런 점에서 다트가 등장이 주목된다.




-----------------------------------------------------------------------

Tutorial: Interfaces

Interfaces—types that define which methods a class provides—are important in Dart. In fact, much of the Dart Core Library is defined in terms of interfaces. If you've never used a language that features interfaces or protocols, you might want to read about them.

-----------------------------------------------------------------------

class Greeter implements Comparable {
  String prefix = 'Hello,';
  Greeter() {}
  Greeter.withPrefix(this.prefix);
  greet(String name) => print('$prefix $name');

  int compareTo(Greeter other) => prefix.compareTo(other.prefix);
}

void main() {
  Greeter greeter = new Greeter();
  Greeter greeter2 = new Greeter.withPrefix('Hi,');

  num result = greeter2.compareTo(greeter);
  if (result == 0) {
    greeter2.greet('you are the same.');
  } else {
    greeter2.greet('you are different.');
  }
}

-----------------------------------------------------------------------

 

About the code

The preceding code both uses and implements interfaces. Here's what's interesting about it:

Interface implementation
The Greeter class implements the Core Library's Comparable interface, making it easy to compare two Greeter objects. Implementing the interface consists of two steps: adding implements Comparable to the class statement (line 1), and adding a definition of the only method required by Comparable: compareTo() (line 7).
int and num interfaces
Although you might expect int and double to be primitive types, they're actually interfaces that extend the num interface. This means that int and double variables are also nums.

In use, int and double feel like the primitive types you're probably used to. For example, you can use literals to set their values:

int height = 160;
double rad = 0.0;

More about interfaces

In Dart, you can often create objects directly from an interface, instead of having to find a class that implements that interface. This is possible because many interfaces have a factory class—a class that creates objects that implement the interface. For example, if your code says new Date.now(), the factory class for the Date interface creates an object that represents the current time.

http://www.dartlang.org/docs/getting-started/interface.html



http://www.dartlang.org/