4 ms·
Few C# developers actually use asynchronous rudiments, and instead the overwhelming bulk of code is of the classic stop and wait variety (I've developed in .NET
by corresation 13y ago
Few C# developers actually use asynchronous rudiments, and instead the overwhelming bulk of code is of the classic stop and wait variety (I've developed in .NET, among other platform, from its beginnings).
thirsteh's cynicism is misplaced. node.js is effectively predicated on asynchronous implementations, and you have to work hard to do otherwise. The end result tends to be very efficient implementations that can serve large numbers with ease. .NET bolted on asynchronous sugar as it matured, and while that is very good, and you can make efficient implementations, most don't. So it's not really reasonable to dismiss the talk about one because it's possible in another.
EDIT: thirsteh is continually editing their posts so assume their commentary is very different from what it originally was.
- thirsteh 13y agoI'll wager that you haven't written much Erlang, Go, Haskell, or any other language with transparently asynchronous I/O but blocking semantics. If you have, I don't understand how you can believe my cynicism is misplaced. Despite what you seem to imply in your comment, I/O does not block an entire thread in any of these languages, however the control flow in a single thread does block, i.e. err = fireTheRockets() does block until fireTheRockets completes, but performance-wise it is equivalent to fireTheRockets(function(err) { ... }). Only now you're saved the callback spaghetti. Node.js advocates are literally peddling callback spaghetti as an advantage because "it lets you write much faster applications with ease", yet Haskell's threads and blocking semantics blow any Node.js out of the water by an order of magnitude. (Check out Mighttp/Warp or Go's net/http vs. Node.js.) I come across as cynical because that is sad. It feels like we're travelling back in time, not forward. The only thing that makes node.js "good" when it comes to threading and async is that it doesn't require synchronization as there is no concurrency. (Same thing for Python with Twisted.) Neverminding that that opens up its own can of worms (I hope you don't do any actual computation in your program, as that's going to block everything): Pretending that it's anything more than that comes across as incredibly ignorant of contemporary language design.
- corresation 13y agoI'll wager... And you would lose. This conversation was about .NET, and then you (rather oddly) decided to pull in nodejs. It has nothing, at all, to do with Erlang, Go, Haskell, or any other language, and the tactic of using them as the "big brother" to discount another language is petty and disingenuous.
- thirsteh 13y agoI like the part where you ignored my entire comment and went on believing Node.js was a revolutionary way to write performant programs. The reason I mentioned those languages is that there is essentially no way (short of using the C ABI) to actually do blocking I/O. It doesn't mean that you can't write performant asynchronous programs in C#.
- corresation 13y agoWhat is your personal hangup about nodejs? Again, this conversation was about .NET. You brought in nodejs. I responded specifically within the context of .NET and nodejs. No one said anything about about it being revolutionary, your ridiculous attempts to make it about something greater being grossly misplaced. Maybe you should knock that nodejs chip off your shoulder and get over it. Clearly you had some sort of argument with someone about it at some point, but your arguments just make you look absurd.
- thirsteh 13y agoFor someone calling me petty and disingenuous, you sure are performing a lot of ad hominem attacks. Here is what you said: "thirsteh's cynicism is misplaced. node.js is effectively predicated on asynchronous implementations, and you have to work hard to do otherwise. The end result tends to be very efficient implementations that can serve large numbers with ease." This is what I responded to. Your statements are simply not true. And no, I wasn't the one who brought up node.js either. My gripe with node.js is that it claims to be something much greater than it is, and people gobble it up. If you want to write Javascript, sure, it's a great tool. Just don't try to sell it as the only, or even a good way to write fast applications. That is what is disingenuous.
- deleted 13y ago[deleted]