X
2011

GOOGLE ‘DART’S JAVASCRIPT; CONSIDERABLE ALTERNATIVE?

October 11, 2011 0

Google has a new division to look after now as it recently launched an “early preview” of Dart, a programming language. The search engine giant is hopeful that Dart would help a number of Web application programmers to overcome shortcomings of JavaScript, which have been felt by Google itself acutely.

Lars, Bak, Programmer and project leader was recently at the Goto conference in Denmark detailing about the project. In addition to the same, he even had a blog post to note the project details. His detailing can be summarized noting that Dart would be for everyone who want to work on small, unstructured projects or large, as he said, “If we want to focus on making the Web better over time, we have to innovate,” in an interview.

Google has even revealed a Dart language site, which includes a number of options for a programmer to make use of such as open-source tools for writing Dart programs, code samples, and tutorials; libraries of supporting software, the Dart language specification and forums for discussion.

Bak in his detailing noted that the search engine giant has big ambitions, but at the same time, he even noted that JavaScript would be more than just alive, as he said, “It’s not going to replace JavaScript. JavaScript is a cornerstone of the Web today, and it will continue to be for a long, long time.”

Talking about Google’s approach to creating Dart in-house and not through a more collaborative approach, Bak said that it would be of no use of putting it in a standard committee, before writing any line of code or designing any features. He continued saying, “You have to have coherent design before you start adopting Dart as a standard.”

Google, with its Dart release hopes that other browser vendors would be excited about Dart. For its own browser, Google would opt for the best way to integrate Dart directly into its Chrome browser. Bak made a note even for the “snapshotting” technology, which would be enabled by Dart. He said that this technology dramatically improves a Web app’s startup time.

Briefing about the design goals of Dart, it can be summarized as below:

• Create a structured yet flexible language for Web programming.

• Make Dart feel familiar and natural to programmers and thus easy to learn.

• Ensure that Dart delivers high performance on all modern Web browsers and environments ranging from small handheld devices to server-side execution.

Dart would be targeting a wide range of development scenarios, which would range from a large-scale project needing formal types in the code to state programmer intent to a one-person project without much structure. There are even a number of optional types, which would be added in to support a wide range of projects.

The running of a Dart program would be to within a Dart virtual machine, essentially a layer of software that acts as a computer to execute programs. Bak said that it would even be able to run using a compiler, which would translate Dart code into JavaScript code. This would be beneficial when a programmer opts for a browser, not supporting Dart.

According to the Dart technical overview, Dart has been designed to address a number of shortcomings which have been noticed by Google with Web programming today. These shortcoming are:

• Small scripts often evolve into large web applications with no apparent structure–they’re hard to debug and difficult to maintain. In addition, these monolithic apps can’t be split up so that different teams can work on them independently. It’s difficult to be productive when a Web application gets large.

• Scripting languages are popular because their lightweight nature makes it easy to write code quickly. Generally, the contracts with other parts of an application are conveyed in comments rather than in the language structure itself. As a result, it’s difficult for someone other than the author to read and maintain a particular piece of code.

• With existing languages, the developer is forced to make a choice between static and dynamic languages. Traditional static languages require heavyweight toolchains and a coding style that can feel inflexible and overly constrained.

• Developers have not been able to create homogeneous systems that encompass both client and server, except for a few cases such as Node.js and Google Web Toolkit (GWT).

• Different languages and formats entail context switches that are cumbersome and add complexity to the coding process.

Bak concluded hoping that there would get positive response from the programmers for Dart.