Dart (programming language)
Encyclopedia
Dart is a Web
programming language
developed by Google
. It was unveiled at the GOTO conference in Aarhus, 2011 October 10-12. The goal of Dart is "ultimately to replace JavaScript as the lingua franca of web development on the open web platform."
's problems (which, according to a leaked memo, cannot be solved by evolving the language) while offering better performance, the ability "to be more easily tooled for large-scale projects" and better security features. Google will offer a cross compiler that compiles Dart to ECMAScript
3 on the fly, for compatibility with non-Dart browsers. There will also be a facility to convert typed
Closure
code to Dart. Google will also integrate a native VM
into Chrome
and encourage competitors to do the same with their browsers. The Dart VM and Dart Cross Compiler could be available in late 2011.
main {
print('Hello World!');
}
A function to calculate the nth Fibonacci number
:
int fib(int n) {
return (n <= 1) ? n : (fib(n - 1) + fib(n - 2));
}
main {
print('fib(20) = ${fib(20)}');
}
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
developed by Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...
. It was unveiled at the GOTO conference in Aarhus, 2011 October 10-12. The goal of Dart is "ultimately to replace JavaScript as the lingua franca of web development on the open web platform."
Reason for a new language
Dart is intended to solve JavaScriptJavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
's problems (which, according to a leaked memo, cannot be solved by evolving the language) while offering better performance, the ability "to be more easily tooled for large-scale projects" and better security features. Google will offer a cross compiler that compiles Dart to ECMAScript
ECMAScript
ECMAScript is the scripting language standardized by Ecma International in the ECMA-262 specification and ISO/IEC 16262. The language is widely used for client-side scripting on the web, in the form of several well-known dialects such as JavaScript, JScript, and ActionScript.- History :JavaScript...
3 on the fly, for compatibility with non-Dart browsers. There will also be a facility to convert typed
Type system
A type system associates a type with each computed value. By examining the flow of these values, a type system attempts to ensure or prove that no type errors can occur...
Closure
Google Closure Tools
Google Closure Tools is a set of tools to help developers build rich web applications with JavaScript. It was developed by Google for use in their web applications such as Gmail, Google Docs and Google Maps.-Closure Compiler:...
code to Dart. Google will also integrate a native VM
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...
into Chrome
Google Chrome
Google Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or...
and encourage competitors to do the same with their browsers. The Dart VM and Dart Cross Compiler could be available in late 2011.
Compilers
dartc compiles Dart to plain JavaScript. Frog is a new Dart compiler written in Dart; while it does not yet have all the capabilities of dartc, it generates much more optimized code. On November 18, 2011, Google released Dart Editor, an open-source Dart editor based on Eclipse components, for Mac OS X, Windows, and Linux.Example
The famous Hello World example:main {
print('Hello World!');
}
A function to calculate the nth Fibonacci number
Fibonacci number
In mathematics, the Fibonacci numbers are the numbers in the following integer sequence:0,\;1,\;1,\;2,\;3,\;5,\;8,\;13,\;21,\;34,\;55,\;89,\;144,\; \ldots\; ....
:
int fib(int n) {
return (n <= 1) ? n : (fib(n - 1) + fib(n - 2));
}
main {
print('fib(20) = ${fib(20)}');
}
External links
- Presentation: "Opening Keynote: Dart, a new programming language for structured web programming" - GOTO Aarhus 2011 conference. Planned official presentation of the Dart language, on October 10.
- "Future of Javascript" doc from our internal "JavaScript Summit" last week - Leaked internal Google email.
- Infoq on Google Dart's feature set
- A Walk on the Dart Side: A Quick Tour of Dart — lecture given at Stanford UniversityStanford UniversityThe Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is a private research university on an campus located near Palo Alto, California. It is situated in the northwestern Santa Clara Valley on the San Francisco Peninsula, approximately northwest of San...
by Google software engineer, Gilad Bracha (video archive). The lecture on YouTube, a transcription - Comments on Google's Dart at Lambda the Ultimate
- Dart Experience
- Google Dart to “ultimately ... replace JavaScript”
- Dart News