7 ms·
Dart 3
- munificent 3y agoI'm super excited about this release. I've loved pattern matching and tuples for a long long time and I've wanted to bring them to Dart literally since before 1.0.
- mdhb 3y agoYou and the rest of the team are one of the best parts of the Dart ecosystem. I'm really excited about this release. Thanks for all the hard work. Also I'm so glad to see that updated long term vision for Dart. I've argued for a while now that it was more constrained than it should be and it was overlooked in a lot of use cases where it was actually a great language choice (i.e I write and run a bunch of cloud native backend services using Dart gRPC and Cloud Run and to me it's one of the best kept secrets about the language). Seeing that public commitment from the team is a big deal and much appreciated.
- markdog12 3y agoAppreciate all the hard work, great release. Can't wait for wasm, macros, and inline classes. Macros will be such a game changer, avoiding so much boilerplate you have to go through today.
- skybrian 3y agoI'm wondering how garbage collection in WebAssembly is coming along?
- pjmlp 3y agoIt is behind a flag in Chrome Canary, not sure about others.
- markdog12 3y agoFirefox also has it behind a flag in about:config, javascript.options.wasm_gc
- mhoad 3y agohttps://youtu.be/RcHER-3gFXI https://youtu.be/RcHER-3gFXI Good overview here on the latest state of play out of yesterdays IO content releases
- singhrac 3y agoThey should really not publish this on Medium, honestly. Dart/Flutter already have a fairly corporate feel to them, and being on Medium (which, sadly, is very heavyweight and full of self-promotion these days) really makes me feel like this will be a corporate piece, not a technical note.
- iudqnolq 3y agoHuh, I have the opposite reaction. One of Dart's biggest problems is that many people have the impression that Google doesn't take it seriously internally and will abandon it soon. Posting on an external site (weakly) corroborates that. I associate Medium with small corporations and individuals with an ever-so-slightly scammy hustler vibe, not big corps.
- singhrac 3y agoI didn’t have a chance to edit (HN was down) but I meant to mention that this is a fairly nice piece with technical details about some very nice features added to the language.
- munificent 3y agoMy understanding is that we use Medium for the blog because it has significantly better discovery metrics than posting it on our own site or under Google's umbrella.
- steve_adams_86 3y agoThis is really impressive. I’ve never written Dart but this makes me very interested to give it a trial. A sound type system, pattern matching, nice syntax and seemingly solid tooling — why don’t I hear about this more often? I’ve been working with state charts a lot and being able to target multiple platforms with the same code would make what I’m doing so much more useful. This library seems to support everything I need: https://github.com/rows/automata https://github.com/rows/automata Maybe a good side project! Can anyone give reasons why someone should/shouldn’t write Dart (besides a smaller ecosystem)?
- Dig1t 3y ago>why don’t I hear about this more often? Honestly, I think it’s just because the language is a solution in search of a problem. It doesn’t do anything significantly better than any other language and so there’s no reason for it to get traction. I agree it’s pretty decent though, it could have been what Typescript has become but it failed for some reason.
- flooow 3y agoDart 1.0 was a fully-fledged Java-like type-unsafe OOP thing, released at just the time when such things were becoming unfashionable (for good reasons). There was clearly a time where Google could have, and should have, killed it, but instead they decided to keep it alive and make it a core part of Flutter (Lord knows what internal politics lead to this decision). It appears that since then, just like Golang, Google has decided to plough incredible resources into turning a bad language into an OKish one. Meanwhile the world moves on. The flutter site contains a very unconvincing explanation of why it uses Dart [1]. Unconvincing in the sense that the reasons given do not add up to a reason why a very niche language should be kept alive when many other languages would do just fine (Kotlin seems like the most obvious choice). [1] https://docs.flutter.dev/resources/faq#why-did-flutter-choose-to-use-dart https://docs.flutter.dev/resources/faq#why-did-flutter-choos...
- mdhb 3y agoIt seems like your comment and a bunch of the others below it are approximately a decade out of date which is about as old as the language itself just so you know. A huge amount has changed since then.
- pkphilip 3y agoLooks like Flutter has been updated as well. I only wish the state management wasn't so convoluted in Flutter
- PedroBatista 3y agoYes, Google people always have to do some big-brain stuff in their projects. I’m sure the initial reasons for their state management were valid and their heart was pure, but god damn it’s a mess.
- mdhb 3y agoI don’t know if I actually buy this statement at face value. It mostly extends from the fact that the Flutter community in general is stuck on a perpetual loop talking about it because there is no “one true way blessed by Google wrapped up into a single package that is appropriate for all use cases”. But in practice it’s exactly the same as any other OOP language or framework where you can pick from multiple paradigms depending on your use case. Want to use a state machine? There are options for that. Same goes for Rx patterns, local state, redux patterns and more. There are a lot of extremely complicated apps who don’t have any issue with it in reality and the drama is very much a community problem rather than a real issue.
- PedroBatista 3y agoThat too, but the existence of this page: https://docs.flutter.dev/data-and-backend/state-mgmt/options https://docs.flutter.dev/data-and-backend/state-mgmt/options on the official site it's an indication that something's up with state management. The existence of the Stateless vs Stateful widgets, the "class YourState extends State<>" classes, you can't put a stateful widget inside a stateless widget and a range of many other things that aren't at the top of my mind right now. Of course that are valid reasons of all of this, of course there are "other better ways", but when a large part of your user base wrestles with this for years, it really doesn't matter how smart and correct you are because it is in fact a problem.
- pkphilip 3y ago
- toastal 3y agoFunctional features slowly trickle in after many years.
- pumanoir 3y agoThis is great! Pattern matching (+tuples, records) is going to make conditional rendering, conditional styles and state management even nicer in Flutter. Thank you Dart team. BTW, all the negative comments I see here seem to come from people who haven't worked with Dart and Flutter which is a cultish reactive showing of `google meh` `apple cool!` sentiment that permeates HN. If you haven't tried Flutter and Dart give it a good try, it is really nice.