|Gilad Brache on Dart|
- A simple and unsurprising OO programming language
- Class-based single inheritance with interfaces
- Has optional static types
- Has real lexical scoping
- It is single-threaded
- Has a familiar syntax
You can try Dart online at: http://try.dartlang.org. Dart has a different type checker. In other programming languages, a conventional type-checker is a lobotomized theorem prover, i.e. it tries to prove the program obeys a type system. If it can't construct a proof the program is considered invalid; "Guilty until proven innocent". In Dart, you are "Innocent until prevent guilty".
In Dart, types are optional (more on optional types). During development, one can choose to validate types but by default, type annotations have no effect and no cost… the code runs free!
There are no threads in Dart. The world has suffered enough with threads. Dart has isolates. They are actor-like units or concurrency and security. Each isolate is conceptually a process, nothing is shared and all communication takes place via message passing. Isolates support concurrent execution.
In conclusion, Dart is not done yet. Every feature of every programming language out there has been proposed on the Dart mailing list, however, Google has not taken any decision on these yet. By all means, go check out the preview, try it out and participate!
Some code examples
- Hello World - http://try.dartlang.org/s/bk8g
- Generics - http://try.dartlang.org/s/dyQh
- Isolates - http://try.dartlang.org/s/cckM
You can learn more about Dart at http://www.dartlang.org/