2 ms·
Js quite limited for teaching, no concurrency for instance
by charlysl 9y ago
Js quite limited for teaching, no concurrency for instance
- catnaroek 9y agoI'm guessing you mean “no parallelism”, right? Because JavaScript has (admittedly horrible) concurrency support. Otherwise what's this “callback hell” some people complain about?
- falafel 9y agoCallback hell? What is this 2010? Callback hell is a non-issue in modern JS code with promises, and async/await.
- catnaroek 9y agoPromises don't eliminate callback hell any more than objects eliminate their underlying data structures.
- charlysl 9y agoBy concurrency I mean expressing in the language that a computation or operation is independent, for instance by putting it in a thread or making it lazy, and all the programming techniques that this enables: active objects, order finding (which plays very well with paralellism btw), etc. Parallelism I see as a hardware feature that can make programs faster. I thought about the "callback hell", this is a bit more like coroutines, a quite limited form of concurrency (like non-preemptive threads). In this sense Js is very limited in what programming techniques can be taught.
- iovrthoughtthis 9y agosetTimeout and non-blocking io produce out of order execution. What more concurrency are you looking for?
- charlysl 9y agoYou have a point, I shouldn't have said "no concurrency". You are restricted to what ammounts to coroutining, which is just one of the many concurrency techniques out there, none of which you can teach with javascript. You wouldn't be able to show many of the other possibilities of concurrent programming.
- iovrthoughtthis 9y agoI agree, JS is absolutely limited for teaching concurrency.