
Dart Language Evolution with Vince Varga
Sejar Jasani
Description
<p>In this episode, I talked about the evolution of the Dart programming language.</p><p>The Dart language improves greatly from release to release. Since 2.0, Dart has a sound type system. Since then, many valuable features were added to the language, for example int-to-double conversion, set literals, as well as operators to improve code that performs list manipulation: the spread operator, collection if and for operators. Extension methods were a great addition to the language and they enable you to add any functionality to any type, even types you don't own, thus making your code very expressive. </p><p>Since Dart 2.12, the language supports sound null safety. When you opt into null safety, types in your code are non-nullable by default, meaning that variables can’t contain null unless you say they can. With null safety, your runtime null-dereference errors turn into edit-time analysis errors.</p><p>This podcast episode builds heavily on the official Dart documentation and version announcements.</p><p><strong>Resources</strong></p><ul><li><a href="https://dart.dev/guides/language/evolution">Dart language evolution</a></li><li><a href="https://flutter101.dev/episodes/null-safety-with-randal-schwartz">Null Safety with Randal Schwartz - Flutter 101 Podcast</a></li><li><a href="https://en.wikipedia.org/wiki/Dart_(programming_language)">Wikipedia on Dart</a></li><li><a href="https://twitter.com/vincevargadev/status/1189278795028717568">My poll about Dart from the Flutter Munich meetups</a></li><li>Great packages with extension methods<ul><li><a href="http://pub.dev/packages/time">time</a></li><li><a href="https://pub.dev/packages/dartx">dartx</a></li><li><a href="https://pub.dev/packages/kt_dart">kt.dart</a></li></ul></li><li>Dart announcements<ul><li><a href="https://medium.com/dartlang/announcing-dart-2-13-c6d547b57067">Dart 2.13</a> - New type aliases language feature, improved Dart FFI</li><li><a href="https://medium.com/dartlang/announcing-dart-2-12-499a6e689c87">Dart 2.12</a> - Sound null safety and Dart FFI