Oct
10

Google announces Dart programming language

Google has built a brand-new programming language for ‘structured web programming, one that appears to be suited to browser-based apps. Two of the search giant’s engineers will discuss Dart, Google’s new language, at the Go to international software development conference next month. News of the new language was posted to the Goto website. There aren’t yet any technical details on Dart but the bios of the two Googlers presenting at Goto strongly suggest a bent towards programming for the web and browser

Technical Overview

Dart is a new class-based programming language for creating structured web applications. Developed with the goals of simplicity, efficiency, and scalability, the Dart language combines powerful new language features with familiar language constructs into a clear, readable syntax.

First off: the language comes as a technology preview, it is not yet in Chrome, it comes with syntax familiar to Javascript developers, Erlang-style/Actor-style concurrency. Comes with support to write applications for the iPad.

Update: clarification: the demoed iPad version was Dart code cross compiled to Javascript and executed

Characteristics:

  • Class-based single inheritance with interfaces
  • Optional static types
  • Reified Generics
  • Real lexical scoping
  • single threaded
  • Familiar syntax, Javascrpt-like

Syntactic features

  • class based
  • operator overloading
  • String interpolation “Hello ${foo}”
  • lambda syntax: (x) => x

Types in Dart:

  • optional
  • type annotations have no influence on compilation or execution: if arguments or variables have a wrong type, the code still works if the code is correct. The tooling will issue warnings.
  • reified Generics

Interfaces:

  • Interfaces with Factory implementations
  • interface person factory PersonFactory
  • interfaces have constructors; call to it will go to factory class declared in Interface

Concurrency with Isolates:

  • each Isolate is a conceptual process, Erlang-style
  • no sharing
  • communication via message passing
  • isolates have one or more ports
  • Isolates can run in parallel

The language is not done yet, and the team is looking for input. The language is currently not in Chrome.

Dart execution:

  • DartC compiles Dart to plain Javascript
  • a dedicated Dart VM can execute Dart
  • a third option: Dart comes with tools to create an image of the heap of an application and package it into an optimized format which can be loaded nearly instantly, reminiscient ofSmalltalk’s image system.

Tools:

  • based on Eclipse source but not an Eclipse plugin Update: clarification: this statement was made in the keynote, however the editor and tools are indeed Eclipse plugins.
  • auto completion support with types

A technology preview version of Dart and the tools is available for download now,  and at the Google Code Dart project.

 

Get involved

This project is open source and will evolve with feedback and participation from the community. We have released the draft language specification at an early stage to gather responses from the developers who will be using this new language and infrastructure for web programming. Here are some additional links for learning more about Dart and providing your feedback:

 

 

 

saurabh

hey friends i have completed my B.Tech in CE from Ganpat University & now i am working as Android Middleware & Application Developer in one Private firm. i really enjoy programming…!!

More PostsFacebook

You may like to read this also....

Post comment

*

CommentLuv badge
Follow us on Twitter! Follow us on Twitter!

Search in this website

our sponsors

latest comments

Find us on Facebook

Top Authors

35 posts
saurabh
21 posts
9 posts

Find us on stackoverflow

Polls

Tell us who you are

View Results

Loading ... Loading ...

My Bookmarks

Sponsers Link