The biggest problem with "Javascript on the server" right now is that Javascript has no concurrency story whatsoever. You could easily hack in shared-state threading, but there would be no faster way to turn me off of Javascript forever than to do that. You could hack in message-passing, but it won't be clean and you're still going to have terrible fun trying to not pass mutable references, which, again, if you leave that in I will run screaming. STM isn't exactly going to be easy to stick in either.<p>(I say I will "run screaming" not merely because I don't want to deal with it, but because I don't want to deal with yet more libraries based on shared-state concurrency. No. I've left that behind and I'm not going back, and certainly not in a space where I've got an abundance of languages to choose from.)<p>Without a solution to that problem, I see this as a terribly, terribly wrong move, and a terrible time for JS to try to be picking up the server. Servers are <i>in</i> the multicore age and have been for a couple years now.<p>(And if your answer is "well, we'll just keep all the tasks simple and we won't need multiple threads", I would remind you that you're running <i>on the server</i>, which often needs to do, you know, <i>actual work</i>. A language that can't do that may have a small niche, but it's going to be an uphill battle against entrenched competitors.)