4 ms·
Dart's optional typing is effectively a dynamic language that allows you to decorate your source with optional Type info that effectively just acts like documen
by mythz 13y ago
Dart's optional typing is effectively a dynamic language that allows you to decorate your source with optional Type info that effectively just acts like documentation for other developers and automated tooling.
It's far more readable and concise having it embedded in the language rather than buried and disjointed in the comments. Not to mention it also allows for superior tooling support.
I've personally been extremely productive with Dart (most productive I've ever been with any language). It's effectively a more consistent JavaScript with less ceremony with the benefit of optional typing which has caught errors on a number of occasions, giving instant feedback and identifying errors before I've even run the code.
- kvb 13y agoAs long as you're adding a type system (optional or not) it does seem a bit odd to opt for an unsound one...
- mythz 13y agomakes sense if you prefer dynamic languages since it adds least friction.
- lucian1900 13y agoYou can always have the Any type + a runtime tag on the box if you really need it.
- mythz 13y agoThat's just var (i.e. un-typed) in Dart.
- mark_l_watson 13y agoDo you just use Dart on the client side, or also do server side using Dart? I have been using Clojurescript and Clojure for client and server coding, but I might be interested in trying another "one language" stack.
- mythz 13y agoMany of the libraries I've helped write are server-only, you can see a list of them at: https://github.com/Dartist https://github.com/Dartist Although Dart on the server is still in its early stages so you might not find all the libraries you need, e.g. I ended up writing my own Redis Client (https://github.com/dartist/redis_client https://github.com/dartist/redis_client) since there were fewer mature options. All the server APIs are there for you to build a node-like server, it's just the web frameworks and view engines are currently lacking so you might find yourself having to write more frameworks/libraries than you would otherwise on node (which is a lot more mature atm). I'm hoping after the Dart team finish the work on integrating the Dart VM into Chrome that they'll focus on the server-side of the "full stack" and provide support for App Engine, incidentally star this issue if you would like to see support for this sooner: https://code.google.com/p/googleappengine/issues/detail?id=6092 https://code.google.com/p/googleappengine/issues/detail?id=6...