5 ms·
Funny you say that since Dart is the primary reason most people I know don't want to use Flutter. There's been a trend of improved DX for languages used in app
by BoorishBears 10mo ago
Funny you say that since Dart is the primary reason most people I know don't want to use Flutter.
There's been a trend of improved DX for languages used in app development:
ObjC -> Swift
Java -> Kotlin
Javascript -> Typescript
...Dart feels like the before with no after, even though it got traction in the era of the Afters.
- vips7L 10mo agoDarts pretty good. It has a lot of modern features, nullable types, pattern matching, sum types, and factory constructors; some really good build tooling. It can compile fully AoT.
- saagarjha 10mo agoIt’s not very good if you’re comparing it against Kotlin or Swift though.
- satvikpendem 10mo agoEh, it's getting there, slowly at first but more rapidly now. It now got tearoffs, I explained in another comment but > if you have an `enum Color { red, blue }` and a function takes `Color`, you can just do `f(.red)` not `f(Color.red)` Dart is getting new features pretty fast, they really started focusing on the DX more after Dart 2 and now especially after Dart 3. Macros were supposed to ship but it was incompatible with the goals of fast compilation, so other sorts of smaller features will ship instead.
- virtualwhys 10mo agoBig turnoff with Dart is the lack of json (de) serialization -- kind of shocking to have to resort to source code generation libraries in a modern language. Also, statement based instead of expression based, and not immutable by default are kind of a drag; not the end of the world but a bit unpleasant, IMO.
- satvikpendem 10mo agoSerialization support is coming, probably this year. As for statements vs expressions, it does have some expressions such as if and for inside lists but changing it wholesale to an expression based language would be too much of a breaking change.
- virtualwhys 10mo agoSerialization support has been coming for years, I lost patience. Otherwise, yes, some support for expressions, some support for immutability, no support for optional semi-colons, no privacy modifiers so "_" littered everywhere. I just found it to be an exceedingly ugly language when I used it a couple of years ago. Yes, some more pleasant modern functionality has been bolted on since then, but it's unfortunate that Dart was chosen as the backing language for Flutter, which is an awesome mobile framework.
- satvikpendem 10mo agoSerialization has always been possible via libraries, so most people were doing fine with that, what is coming is native serialization support, but in practice it will be functionally the same, ie rather than you running build_runner, the compiler will do it for you. I'm not sure what you used but that's what you were hung up on, there were always ways to solve it. Dart is a pragmatic language, it has everything you need and has a lot of benefits too, such as sound null checking (very few languages have this, Rust comes to mind), JIT and AOT support (Javascript / TypeScript such as for React Native doesn't, and Kotlin is just getting there with Kotlin Native but it still has a lot of issues), and now more functional programming concepts with algebraic data types via sealed classes and pattern matching. What language would you have chosen when Flutter came out circa a decade ago, or, we can be even more charitable and ask what language would you use today if you were to implement Flutter? I'm curious because everyone has their own ideas but they all don't work for one reason or another.
- dtmorgan 10mo ago[dead]
- deleted 10mo ago[deleted]
- realusername 10mo agoIt's a matter of taste, even just the swift example on this website makes me raise eyebrows.
- saagarjha 10mo agoI think that is valid because the syntax shown off here is controversial. However, I think Dart is just generally worse in almost all of its features.
- wiseowise 10mo agoIt is great if you’re comparing it against Kotlin or Swift, unless you’re stuck in an era of 1.x Dart.
- websiteapi 10mo agoisn't this just because Dart is way newer than those? it's from the 2010s. it's really modern in comparison (same generation as Kotlin swift and typescript)
- BoorishBears 10mo ago> Dart feels like the before with no after, even though it got traction in the era of the Afters. It's aged like the recent languages but feels clunkier like a language that's much much older.
- mdhb 10mo agoDart is hands down the best modern language out there for app development right now what are you even talking about? I understand that maybe a lot of people haven’t used it or maybe haven’t used it in years and that probably drives a lot of the FUD but for those who use it, it has stupidly high ratings from developers who use it and has for years.
- BoorishBears 10mo agoIt's not FUD when you make something terrible* and that reputation doesn't immediately slough off. And I just checked the Dart release notes from all of 2025: https://dart.dev/resources/whats-new https://dart.dev/resources/whats-new Great progress! But smells a lot like the language I had it pegged for when "underscore as a wildcard" lands in February 2025, 2 years after pattern matching lands. How did they ship pattern matching in 2023, with a million examples of how to do it right already hashed out and in the wild... and then not figure out a wildcard symbol for 2 years? - * Dart was awful, lost to Javascript because no one rated it highly enough to justify moving off Javascript, and was practically dead until Flutter dusted off the corpse and pivoted away from their browser goals... so super weird revisionism to act like we're talking about some beloved evergreen language.
- wiseowise 10mo agoYou seem confused and indeed spreading FUD. Dart wasn’t awful. It wasn’t adopted at the time because it had a distinct runtime that would require splitting web in two which nobody wanted. On top of that it gave Google too much power, because now they would control both runtime (V8) + language (Dart). TypeScript won and became king because it was pretty much JS 2.0 instead of JS++ like Dart.
- BoorishBears 10mo agoIn your version of history Dart was always a great language... but Google was simultaneously too powerful for other vendors to allow Dart to proliferate, but also too weak to sustain it themselves despite Chrome going on to do just that for many many web standards. I'm sure that's a really cozy idea, but doesn't pass the "common sense" test: a bit like your random misuse of the term FUD. - The simple reality is it wasn't very good, so no one was rushing to use it, and that limited how hard Google could push it. ES6 made Javascript good enough for the time being. Dart 1.x had a weak type system, and Dart 2 was adding basics Kotlin already had almost 2 years earlier: that was also around the time I first crossed paths with Flutter, and honestly Flutter by itself was also pretty god awful since it was slowly reinventing native UI/UX from a canvas. (It was a lot like Ionic: something you used when you had a captive user-base that literally couldn't pick a better product. Great for Google!)
- wiseowise 10mo agoHave you even used modern Dart?