Luckily, Dart isn't Java. Here's a good list of ways that Dart isn't Java. http://programming.oreilly.com/2013/05/dart-is-not-the-language-you-think-it-is.html
Some reasons:
* Dart is a source code runtime.
* Dart has optional types.
* Dart has collection literals.
* Dart is purely object oriented.
* Dart supports top-level functions and variables
* Dart’s main function is terse
* Dart lets you put any number of public classes into a file
* Dart has closures and lexically scoped functions
* Dart has mixins
* Dart has operator overriding
* Dart has string interpolation
* Dart has noSuchMethod
[disclaimer: I work on the Dart team]
Hope that helps,
Seth