What will become Dartino features ?

173 views
Skip to first unread message

Alexandre Ardhuin

unread,
Sep 16, 2016, 2:39:18 AM9/16/16
to General Dart Discussion
Hi all,

Regarding Dartino putting on hold, what will become experimental features like Processes and Isolates or Coroutines and Fibers ? Is there a chance they go back in the standard Dart SDK ?

Cheers,
Alexandre

Bob Nystrom

unread,
Sep 16, 2016, 12:35:25 PM9/16/16
to General Dart Discussion

On Thu, Sep 15, 2016 at 11:39 PM, Alexandre Ardhuin <alexandr...@gmail.com> wrote:
Is there a chance they go back in the standard Dart SDK ?

There aren't any plans to that I'm aware of. We're mostly focused on Dart for the web, where those would be quite hard to support, and Flutter, which so far hasn't asked for any interesting concurrency features.

Cheers!

– bob

krupal shah

unread,
Sep 16, 2016, 1:32:22 PM9/16/16
to mi...@dartlang.org

It's about the end of 2016. When can we expect Dart 2.0 getting released? Will it have any features regarding easy and productive concurrency? What does it mean by 'discontinued' status of Dartino project? Will it happen with Dart as well?

Filipe Morgado

unread,
Sep 16, 2016, 3:38:23 PM9/16/16
to mi...@dartlang.org
I don't know anything about the reasoning behind the dropping of Dartino.
I can only comment on what it looks like to me, on the outside.

I always thought it was too premature to launch Dartino, when there was so many loose ends in the Dart platform.
And now that there's AoT compilation for ARM and that Fuchsia is coming, there's a lot of overlap.
Dartino runs on FreeRTOS I believe, which is pretty much what Fuchsia/Magenta are supposed to be.
Why not putting the Dartino team working on AoT compilation for Flutter/Fuchsia?

Then Dart 2.0 seems on its way. If it bring a lot of new features, that's a LOT of work.
First there's a lot of experimentation to do. Then the spec must be written. Then they have to update the VM, observatory, the whole SDK, the analyzer, dev compiler, dart2js, pub (Dartino would have been another one) and pretty much every library. And write tools for easy migration.
Then they will probably consult internal/external Dart consumers and maybe cycle back to experimentation.

So yeah, I'm pretty much happy about the team being refocused.

And I expect to wait at least 3 years for Dart 2.0 to be stable.
It's not that much if it has to wait for Flutter and Fuchsia to be production-ready to get visibility.

Joao Pedrosa

unread,
Sep 16, 2016, 4:58:49 PM9/16/16
to mi...@dartlang.org
Hi Filipe,

I don't know anything about the reasoning behind the dropping of Dartino.
I can only comment on what it looks like to me, on the outside.

My own take about Dartino is that it was trying to do incremental changes to a live program instance.
The inspiration came mostly from the Smalltalk of old where you could change a program while it was
running. Perhaps it could be compared to changing a program while it is being debugged.

The problem though is that Dartino was really starting from scratch. Also, it's possible that concurrency,
asynchronous code and so on made matters more difficult for a Dartino implementation of the Smalltalk
ideas. Dartino had to support more features just to support all of the standard Dart features, and when it
did not, it is possible that folks started to lose interest in it. For example, Dart was fast while Dartino was
not. But Dartino did use less memory and could start up much faster. Dartino could start in a few
milliseconds. Only Perl can start that quickly and that may have been one of the reasons that Perl got
used for CGI on the web. Nowadays though, servers can serve many concurrent requests and stay up
all the time. Kind of negating the need for a much faster start up as far as servers go. We can generally
wait for a script to take 100ms to do its job too when starting up from scratch. Heck, JavaScript code can
take half a second just being parsed by the browser.

I do think that in terms of a scripting language, that starting from scratch may be advantageous. And Dart
can load a script fast enough, for example.

In JavaScript they go one step further sometimes by using something like a Webpack server that stays
up all the time and that notices changes and updates the browser accordingly in "real time." This is in
part a result of JavaScript's dynamic roots and the browser's dynamic APIs. Webpack for example can
handle files individually and do all kinds of transformations to them: JavaScript, images, CSS and so on.
So in a way, JavaScript already gets some of the results that Dartino promised. Pub also did support
some transformations in Dart. Pub was on its way to becoming an alternative to Webpack. :-)

Dartino also had FFI features that could have been used for accessing native libraries, even if that may
have made it more platform dependent. Dartino could for example access all of the Linux syscalls, just
like Go has them. Actually Go does its job of accessing syscalls via FFI while maintaining cross-platform
support.


Cheers,
Joao

Günter Zöchbauer

unread,
Sep 17, 2016, 7:09:04 AM9/17/16
to Dart Misc
Processes and isolates or coroutines and fibers weren't mentioned here but it seems related anyway https://plus.google.com/s/dartino/top (check the comments)

DoHyung Kim

unread,
Sep 17, 2016, 10:14:56 AM9/17/16
to Dart Misc
What about the FFI then? It is Dart VM specific and might benefit it by letting it easily leverage native codes.
The current FFI is functionally complete but calling into native codes without writing any native codes is a huge win.
Even JVM is trying to make FFI easier than the current JNI.


2016년 9월 17일 토요일 오전 1시 35분 25초 UTC+9, Bob 님의 말:
Reply all
Reply to author
Forward
0 new messages