News for hackers. Stuff that matters.
Re:Things I hate about Go by SamReidHughes on Wednesday June 15, 2011 @04:58AM (#2656435)
> Gorountines are just a hack for storing a continuation in a closure in functional languages.

This is just not true. Passing continuations around is hellish enough in node.js, and when you've got RAII features the way Go has, that increases their advantage in Go. The memory overhead of coroutines is Worth It.

> You can't select over multiple io.Readers without starting > a goroutine for each one.

We found ourselves needing to throttle the number of simultaneous I/O requests (to disk) well before we reached any kinds of memory problems with coroutines, but this problem might be understandable on 32-bit systems. Oh well. If you have ~512K network connections, adding an extra 4GB of RAM is probably affordable.

Re:Things I hate about Go by DanWaterworth on Wednesday June 15, 2011 @05:03AM (#2656439)
But in functional languages, the compiler does the conversion to CPS, leaving you with a synchronous interface. I don't advocate the node.js approach.

It may be affordable, but it shouldn't be necessary, when it can be done better.