This would be a total nightmare. Today you can spot if a module uses sync 
calls by doing a grep Sync. With something like this we'd end up having all 
sorts of sync modules that kill the event loop and it would be very hard to 
find out where the sync calls are buried.

There *are* solutions to the async problem. Things like streamline.js or 
fibers/futures. If you find it too difficult to write code with callbacks, 
you should give these tools a try first.

IMO, sync calls should even have been banned from the start. Or at least, 
libraries that use Sync calls under the hood should be required to 
advertise it so that people don't run into performance issues with them 
(and I will streamline them if I need them).

Bruno

On Monday, April 2, 2012 4:20:01 AM UTC+2, Olivier Lalonde wrote:
>
> I'm sorry if this has been discussed before, but I couldn't find anything. 
> This a modest proposal to introduce sync APIs in Node.js
>
> A lot of people would like to use Javascript for their web backend, but 
> don't want to program in an async style (I believe those reasons have 
> already been discussed at length). 
>
> As it stands right now, it is practically impossible to program in Node.js 
> in a sync style, since most core modules and native extensions only provide 
> an async interface. 
>
> I believe there would be an easy way to change the status quo without 
> impacting developers who chose to adhere to a strict async style. The 
> solution I propose is simply a pattern for writing I/O APIs: every I/O call 
> should be async *unless* no call back is supplied, in which case the I/O 
> call should be sync and use return / throw statements instead of calling a 
> callback.
>
> There is probably a flaw in my reasoning since I'm probably not the first 
> one to come up with this pattern. That being said, I think it would be an 
> elegant way to make both async/sync fans happy while keeping all the 
> backend JS community focused on one project rather than fragmenting the 
> community in multiple CommonJS server implementations.
>
> Thoughts?
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to