5 ms·
Adding a new language to the stack always adds costs, especially if it's a marginal language. In addition, the migration costs increases as you can't bring in o
by kryptiskt 3y ago
Adding a new language to the stack always adds costs, especially if it's a marginal language. In addition, the migration costs increases as you can't bring in old code. And all your effort is wasted the day you want to migrate away.
It's just so utterly pointless, Dart doesn't bring anything to the table as a language and isn't used for anything else. I have no idea what internal Google politics made Flutter go with Dart, but it would have been way better if they had used Go. I say that as a certified Go skeptic, at least that is a widely used language.
- jononomo 3y agoThink of it the other way around: Dart was created for the sake of Flutter. You seem to think that the framework designers at Google just decided to pick a niche language called "Dart" to write Flutter in when they could have picked Javascript to write Flutter in. No. They decided to make the design of Flutter as a framework so clean and pure that they would have to work backwards to figure out what language it would need to be written in and then they created Dart. You're not supposed to use Dart for any purpose other than Flutter -- that's not a drawback to learning Dart -- that's the whole point. An entire team at Google literally created a language to make it easier for you as a developer to express yourself in this domain, and you think that's a drawback? That's like thinking being given a ladder is a drawback when you want to get up on the roof. Sure, you could just assemble a big pile of rubble and scramble up it to get on the roof, and it is true that you might be able to later use the rubble for other purposes (whereas a ladder is built for a specific purpose) -- but that does not make the ladder the more limiting tool. If there is one repeated comment I hear about Flutter it is "wow, it seems like such superior technology, I wonder why it isn't more widely used". To which the answer I keep hearing is "it is only superior for doing the thing it is built for -- it isn't superior for other things." Those who would give that answer consider Javascript, on the other hand, an (inferior) tool not only for this problem, but also for other problems, so it is the more generalizable tool and therefore it makes more sense to use Javascript. The argument seems to be that at least if you're using the same crappy tool for everything then you can claim the efficiency of never having to change your tool. "Only a fool would use the best tool for the job", is the implication of those who disparage Dart.
- vitno 3y agoI don't think dart is a problem, but your timelines are very off. Dart was a JavaScript alternative that was started back in 2011. It's evolved a lot since then but in no way was it created for Flutter. (I worked physically adjacent to the Flutter team for a couple years)
- OJFord 3y agoI'm not disparaging it, I'm saying it's a barrier to entry. I think if Flutter was built around CSS & JS or something it would have a lot more adoption. I'm not saying it would be better.
- bandyaboot 3y agoUsing JavaScript as the language that the framework uses is one thing, but it seems to me that suggesting that it be built around css is basically suggesting that it should be a fundamentally different thing.
- OJFord 3y agoHow so? https://docs.flutter.dev/ui/layout/tutorial#step-2-implement-the-title-row https://docs.flutter.dev/ui/layout/tutorial#step-2-implement... There's not even a JS alternative required here, this step is showing purely an HTML & CSS alternative? Flutter in my mind is 'competing' with Tauri or Electron, which give me an HTML/CSS/JS (or any equivalent traditional web) frontend cross-platform. But I haven't actually used Flutter (or Dart), just looked at docs, so maybe I'm wrong?
- bandyaboot 3y agoAn Electron app is running on top of Chromium and Node, so at some point you’d have to feed them HTML/CSS/JS anyway. It wouldn’t make much sense for the apps to be written in something else. Flutter apps on the other hand build to native apps. Having to build HTML/CSS/JS code into, say, a native windows GUI seems like it would be rather awkward.
- 3y ago
- nerdix 3y agoGo would have been an interesting choice. Flutter would have been Go's defacto UI library and would have opened the language up for use in areas that it has no presence in today. I also think Flutter would have wider adoption if it used Go. In retrospect, it seems like an obvious choice. It could be that Go wasn't what it is today back in 2015. Go was just finding it's footing in the cloud native stuff back then. Maybe they would have gone with Go or Kotlin Native if they had to do it over again today