Hi, Good questions.
1. What problems does Dart solve, what gap does it fill...?
I come along and change function foo by removing parameter b:
But my call foo(1,2,3) is still a valid function call, even with the altered function signature foo(a,c). The application doesn't break, but something is wrong. Poor programmer Bob comes along in 6 months time, and who's to say which is correct - the function or the call?
Building server-side applications, we're spoiled by the wealth of tools to detect these errors at the time the code changes
keep track of the breaking changes between versions. Sure, in an ideal world, we'd always be able to hire other uber-experts to work on our projects.
dynamic, and the running code can even be changed at runtime, you can't create tools to perform 100% static analysis without actually running the code.
In this section, I'll address Dart as a problem solver to the issues declared above, and also address the second question:
2. this site optimized for Dart... fragmentation...?
For customers and users of our apps, the quality, speed of development, and speed of execution will improve. Quality and speed of development, because we no-longer need to battle against the language, and speed of execution because of the faster virtual machine built into users browsers.
Finally, to see a 10 second clip of Dart running in Firefox and IE, take a look here (G+)
Does the book address these questions - yes, and no. These questions (and answers) are outlined in the introduction and early chapters, but then you crack on with learning some Dart - open forums such as these are much better places for that kind of 2-way discussion