> Unfortunately, instead of actually fixing the underlying problem […] the > ECMAScript committee seems to have gone with […] which is lighter syntax but > still absurd.
Flaming other languages / committees is very much not the point of this mailing list. Try to stay on topic and dispassionate. On Thu, Nov 14, 2013 at 6:23 AM, Bardur Arantsson <s...@scientician.net> wrote: > On 2013-11-13 21:41, Igor Bukanov wrote: >> On 13 November 2013 20:41, Bardur Arantsson <s...@scientician.net> wrote: >> >>> In practice it's much more difficult to be *explicitly* >>> async and it should just be delegated to the language/runtime. There are >>> some things humans just aren't good at. >> >> I suspect Rust makes asynchronous programming significantly more >> bearable. Programming in JS in that style is often painful due to the >> noise of all those function() { } spread through the code and bugs >> connected with accessing stuff that should only be ready later. Rust >> nicely addresses that with shorter syntax for closures/macros and move >> semantics. >> >> So an experiment of writing in asynchronous style in Rust and >> comparing that with C++/JS/other languages would be very useful to >> judge. >> > > It's *not* a matter of just making the syntax "lighter". Asynchronous > callbacks lead to "the pyramid of doom" (as Dave Herman puts it) of > nested callback functions. > > Unfortunately, instead of actually fixing the underlying problem (which > is the need for an explicit callback model in the first place), the > ECMAScript committee seems to have gone with > > function foo*(...) { > yield ....; > } > > which is lighter syntax but still absurd. (To bear fair they also have > extreme constraints of backward compatibility.) > > Python has also (to my great disappointment) gone this route, but there > you can't even tell "from the outside" if a function is async-safe -- > it's not part of its interface syntactically, but it's of huge > importance in practice. > > My overall point is: Why should the *programmer* be segregating > functions into asynchronous and synchronous? We have computers and > compilers which are more than capable than doing this for us at this point! > > Regards, > > > _______________________________________________ > Rust-dev mailing list > Rust-dev@mozilla.org > https://mail.mozilla.org/listinfo/rust-dev _______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev