Hacker News new | ask | show | jobs
by magicalist 4033 days ago
It gets ugly fast. Most tasks are not a simple sort. There's a reason that cooperative multitasking is not widely used in operating systems anymore.
1 comments

Javascript is not an operating system.

There aren't many operations in javascript which will block. The only real issue is that your javascript code executes in the same thread as UI. Which just means you need to think a bit harder about keeping it responsive.

"Start threads!" in programming is usually a lazy hack.

Lazy hack, or using OS/browser/whatever features instead of reinventing them poorly?

What's the benefit you get from programming like that?

Because once you introduce threads, your program complexity increases massively. You're now throwing a few groups of instructions at the CPU and saying "Hay! Execute these instructions in any order you like". Then you're adding code to deal with the issues of that random execution entails.

Also, it's not faster, so what's the actual point?

The browser should use all CPU cores efficiently to make javascript fast. Exposing WebWorkers to javascript programmers IMHO is totally the wrong way to do that.