Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Like I said yesterday "The road block for adoption will be Dart. Why they didn't just choose Typescript or go with native javascript is beyond me. No one uses Dart. It was probably the poorest design decision they could make."

The comment from pzo points out an even worst of an adoption showstopper.



Here's some of the explanation about why they chose Dart:

> There’s a lot of nice properties of Dart, we talk some about this on our website at our frequently asked questions. One of the nice properties of Dart is that it has a really fast garbage collector, one of the choices that we made in Flutter was to have this reactive style system where it’s very common to allocate thousands of objects in a – if not, tens of thousands of objects in a single frame.

> In a span of a few milliseconds and then immediately let go of those objects again. There’s a variety of ways to do that but Dart, having a generational garbage collector, can handle large volumes of short lived objects very quickly. Dart also has some really nice performance characteristics, it has an ahead of time compiled back end which allows us to compile straight to native arm code, allow us to achieve really fast startup on really consistent performance and Dart also has a nice focus on developer experience which really got along well with my team.

From https://softwareengineeringdaily.com/2018/07/09/flutter-with...


This actually makes it sound like native OCaml (maybe with the ReasonML syntax) would have been a good fit for Flutter. OCaml has a super-fast compiler, super-fast GC, and has (pardon the pun) reasonably good native interop.


No one uses Dart. No one is going to switch from React or Vue to Flutter when they can't bring over their TypeScript skills and tooling. It was a stupid, arrogant decision on Google's par, end of story.


As someone who use Java a lot and don't favor Javascript I'm grateful there is Dart.


Typescript isn't JavaScript


In fact, one of the best thing about typescript is that you can bring in almost everything you know about javascript into the game.

It took me few days to pick it up when moving from JS to typescript. I don't get it when people say it is complex or adds complexity.


> I don't get it when people say it is complex or adds complexity.

js is the complexity people are worried about. the number 1 reason i'm considering going to flutter over react is having to learn js


I will. I am grateful that something like flutter exists and learning dart is very easy and would never be a showstopper for me. It is not like that we are not required to learn large amount of platforms and languages anyway.


> Why they didn't just choose Typescript or go with native javascript is beyond me.

They needed to be AOT compiled. Can't ship a JIT on iOS, after all. And JS is very unfriendly to static compilation. Dart is considerably better suited for AOT due to static typing.

There are other languages that are GC'd & AOT friendly, though, so I can't help you with why they didn't use any of those, though. But why they wouldn't use JS is pretty straightforward.


They won't stop pushing Dart, thanks to success of Go, yet another 'good enough for the job' mediocre (at best) language.


I'm curious to know your thoughts on what makes Dart a mediocre language. At first glance, it seems to be merging the best of both worlds (can be AOT compiled for prod and JIT for dev)


I would kinda even prefer Go. Learning Dart is really specific to Flutter, I wouldn't end up using it for anything else. Go is kinda useful.

I have played with Flutter before and liked it, but was annoyed about the lack of what are now called PlatformViews. I might give it another shot now.

I just wish I could consume it from a different language, Go, TypeScript.... C# even Kotlin. I don't love learning a language for a single purpose if I can help it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: