Dart is a class-based, object-oriented language that simplifies the development of structured modern web 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. As has been done in other seminal books on C and C++, Bracha s " The Dart Programming Language " offers an authoritative description of Dart for all computer scientists, computer science students, and other well-qualified professionals. The text illuminates each key programming construct with significant examples, focusing on principles of the language, such as optional typing, that are becoming increasingly important over time. Bracha thoroughly explains reflection in Dart, showing how it has evolved 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 aboutDart s object model, in which nearly everything is an object, even numbers and Boolean valuesHow Dart programs are organized into modular librariesHow Dart functions are structured, stored in variables, passed as parameters, and returned as resultsDart s innovative approach to optional typingHow Dart handles expressions and statementsHow to use Dart s implementation of reflection to introspect on libraries, classes, functions, and objectsIsolates and other Dart features that support concurrency and distribution "
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.