I am a Java developer and recently I started reading about the language Dart and the more I read, the more I have a feeling it's very similar to Java 8.
For this question not to sound completely out-of-this-world, I'll try to list similarities between Dart and Java 8 which make them almost twins.
- "Loves structure and static type checking. In Dart every object has a static shape."
- "Class based and object oriented"
- Generics.
- "Lexical
this
. Unlike JavaScript when you usethis
you know what it is referring to" - "Hole free arrays."
- Has maps.
- "Has both integers and doubles."
- Has sockets and file IO.
- Has isolates.
- Has a package manager.
- Performance comparable to Java.
- Historical: JS was introduced as a simplified dynamic version of Java/C++ which could be run in browsers. Dart is something very opposite to this - it's more static and has more features.
First I thought that may be currying, but currying is there in Java 8.
So other than syntax, what are the major differences between Dart and Java 8 / C#?
UPDATE
This answer from @SethLadd who is one of the developers of Dart: Does Dart have any useful features for web programmers? enlists all the major features of the Dart language, so it might leave no trouble comparing these languages.