Dart is a class-based, object-oriented language that simplifies the development of structured modern apps, scales from small scripts to large applications, and can be compiled to JavaScript for use in any modern browser. In this rigorous but readable introductory text, Dart specification lead Gilad Bracha fully explains both the language and the ideas that have shaped it. The Dart Programming Language offers an authoritative description of Dart for programmers, computer science students, and other well-qualified professionals. The text illuminates key programming constructs with significant examples, focusing on principles of the language, such as optional typing and pure object-orientation. Bracha thoroughly explains reflection in Dart, showing how it is evolving into a form that programmers can easily apply without creating excessively large programs. He also shares valuable insights into Dart’s actor-style model for concurrency and asynchronous programming. Throughout, he covers both language semantics and the rationale for key features, helping you understand not just what Dart does, but why it works the way it does. You will learn about Register your product at informit.com/register for convenient access to downloads, updates, and corrections as they become available.
I really enjoyed the book, helped me to understand the decisions made when the Dart language was created. The examples are compact enough to quickly understand, and it doesn't have too much of a marketing message some books on new programming languages have. I began coding Dart once I started reading this book, mainly small things for hobby projects. Now using Dart for a larger project for the first time. The book gave me a strong foundation to be able to understand the Dart as a language in a much better way. Some of the newer Dart developments in 2016 like "strong mode" and AOT compilation naturally could not be covered - since those features were not available at the time of the writing of the book.
Unlike what the cover text says, this book is neither very rigorous, nor readable. In the end, you get the idea, but I wouldn't say it does a good job explaining all the choices the authors of the language made (except for the recurring "it was too hard, so we hacked together something that appears to work but really doesn't"). Overall, it feels much more like a collection of blog posts, rather than an explanation of a programming language.
And as for Dart, the language, this book brought me from an initial excitement to disappointment without having to spend too much time with it.