<br><br><div class="gmail_quote">On Thu, May 10, 2012 at 7:45 PM, Zhong Yu <span dir="ltr"><<a href="mailto:zhong.j.yu@gmail.com" target="_blank">zhong.j.yu@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Thu, May 10, 2012 at 12:13 PM, √iktor Ҡlang <<a href="mailto:viktor.klang@gmail.com">viktor.klang@gmail.com</a>> wrote:<br>
><br>
><br>
> On Thu, May 10, 2012 at 7:07 PM, Zhong Yu <<a href="mailto:zhong.j.yu@gmail.com">zhong.j.yu@gmail.com</a>> wrote:<br>
>><br>
>> On Thu, May 10, 2012 at 10:26 AM, Christian Essl<br>
>> <<a href="mailto:christianessl@googlemail.com">christianessl@googlemail.com</a>> wrote:<br>
>> > Your are right my primary concern is code-simplicity not pure<br>
>> > performance, basicly writing in a traditional imperative blocking<br>
>> > style but still having IO with (mostly) non-blocking threads (and no<br>
>> > callbacks, no monadic futures).<br>
>><br>
>> Thread is such a nice programming abstraction, it's a shame that we<br>
>> are so concerned of its overhead nowadays. Replacing simple threads<br>
>> with complex tasks seems to be retrogressing - aren't programming<br>
>> supposed to become easier?<br>
>><br>
>> What are the fundamental reasons that Java Threads are expensive?<br>
><br>
><br>
> Can you give some arguments as to the greatness of proactive programming<br>
> (threads)?<br>
<br>
</div>It just seems straightforward to me to write and read<br>
<br>
    for(i=0;i<10;i++)<br>
    {<br>
        result = db.query( q[i] );  // blocking<br>
        s = format(result);<br>
        out.write( s );  // blocking<br>
    }<br>
    out.write("done") // blocking<br></blockquote><div><br></div><div>Something like this should work:</div><div><br></div><div>sequence {</div><div>  q map db.query flatMap { result => out write format(result) }</div>
<div>} foreach {</div><div>  _ => out write "done"</div><div>}</div><div><br></div><div>Cheers,</div><div>√</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Now convert it to async style - it's not rocket science hard, but at<br>
least it's quite a chore.<br>
<span class="HOEnZb"><font color="#888888"><br>
Zhong Yu<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><span style="border-collapse:separate;color:rgb(0,0,0);font-family:Times;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><span style="font-family:arial;font-size:small"><span style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px">Viktor Klang<br>
<br>Akka Tech Lead</span><div><font face="arial, sans-serif"><span style="border-collapse:collapse"><a href="http://www.typesafe.com/" target="_blank">Typesafe</a><span> </span>- </span></font><span>The software stack for applications that scale</span><br>
<font face="arial, sans-serif"><span style="border-collapse:collapse"><br></span></font><font face="arial, sans-serif"><span style="border-collapse:collapse">Twitter: @viktorklang</span></font></div></span></span><br>