* Object-oriented with inheritance (sharing the same keywords such as 'class' and 'extends'
* Non-optional semicolons
* Constructors, method overriding, calling `super.whatever` in your overriden methods
* Presence of null
* A base Object class for all objects in Dart, with hashCode() toString() methods
These are mostly superficial observations, and it's not a criticism of the language, but it certainly feels like Java to me, more than Scala or Go does.
For instance, what's the point of those Java style getter methods in the Movie class? These are public instance variables after all, and Dart has special property syntax to transparently wrap instance variables if and when the need arises.
I know next to nothing about Dart. So maybe there is a reason for this weirdness. But I rather suspect that the author has written a lot of Java and almost no Dart in his life.
One of my pet peeves with Java.
Enterprise architecture looks the same in any language that gets adopted in this space.
> "Dart feels like Java — making it easy for many developers to jump in"