On Saturday, 30 June 2018 at 07:45:48 UTC, John Belmonte wrote:
On Saturday, 16 June 2018 at 08:39:07 UTC, Dmitry Olshansky wrote:
On Friday, 15 June 2018 at 23:04:40 UTC, Sjoerd Nijboer wrote:
T* he `async` & `await` keyword from C# make proactor pattern async code extremely easy to reason about.

God please no. Look at Go’s popularity because of dead simple go routines and “async i/o is transparent and looks blocking but ain’t so”. We have at least vibe.d for that and possibly more. Also see Java doing fibers recently, and Kotlin did them just a year or so back. People love fibers and mostly dislike Futers/explicit async, and plain callbacks are obvious last resort that nobody likes.

‘async’ is viral keywords that poorly scales, I worked on Dart core team and even they admitted this problem is not solved well.

I've found it fascinating to follow discussion and efforts to improve the structure and control of concurrency and async operations for software programming in general. I'm not partial to async/await at this time but it seems rash to discount it.

Okay. I see that you see. I “meet” a guy, you know I admire that he _somehow_ made an

HTTP Application server that is faster then let’s pick good stuff...

Nginx Plus with tuning by Igor himeself

(before sweat too mich like Igor at least twice did - no shit these discussion, you THAT guy he rans his... GWAN? as if it was _just_ an spplication server.

You know not a word more but sombody who say:
- knows infosecurity and likes that stuff that say slices into the kernel - rootkit for instance
- aand say injects something into the kernel....

You know where it goes and yet that guy obviously good and the humor....

Boy wicked humor, I kid you not I “invented” this trick this morning....

AND *solved* the _mystery_ of GWAN.

Fuck, it is at _very_ least a brilliant hoax, and boy he is good...

He if that’s the real name....

I mean what if this is Linus (oh, my and you know GWAN started _as_ _windows_ “app server” ...)

If you don’t laught now... I don’t now..

At the *very* least don’t _ever_ go to DConf...

What the fuck with brain like you simply will not like it....

P.S. Atilla even if that is “alternative way” to *do* it... Yeah.

Let’s say you owe... a bear and an a few hours to dicsuss it, okay? ;)


Elsewhere in this thread, the "What Color is Your Function?" article was referenced against async/await. (http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/).

There's a fair rebuttal to that article, "The Function Color Myth". (https://lukasa.co.uk/2016/07/The_Function_Colour_Myth/). I.e. all the concurrency models can be done without coloring. Coloring is an aid which can be used judiciously.

There's the "Unyielding" article which argues that implicit coroutines are just as hard to reason about as preemptive threading. (https://glyph.twistedmatrix.com/2014/02/unyielding.html)

Most promising in this area is a recent article by Nathaniel J Smith: "Notes on structured concurrency, or: Go statement considered harmful" (https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/)

Essentially he's arguing that the way we spawn concurrent tasks is as bad as global goto/jump was in its day, and we need to reign in concurrency with some control structures which let us reason easily about task lifetimes, cleanup, error propagation, etc. His implementation of these ideas happens to be built on top of Python's async/await, but I don't think that primitive is a requirement.

It would be interesting to try to implement these control structures by library in D, and perhaps it would suggest some primitives lacking from or better suited for the language itself. The fact that D hasn't yet jumped on either of the async/await or implicit coroutines bandwagons puts it in a good position to get this right.


Reply via email to