&gt; thread management in general<p>That&#x27;s the beauty of it though; the JVM web server does the thread management so your app code doesn&#x27;t have to deal with it at all.<p>&gt; avoids entire classes of problems (like shared state)<p>Shared state is an orthogonal thing though.  You can have shared state in Node or go stateless in Scala.  You can have race conditions in either.  Node prevents the simple `shared.x = shared.x + 1` problems, but can&#x27;t ensure anything across callback boundaries.  Scala attacks this by making everything immutable by default.  Either way, there shouldn&#x27;t be shared state in a REST app anyway.<p>&gt; &quot;async call stack&quot;<p><i>That</i> is pretty cool.  Actually once Javascript gets async&#x2F;await added to core, then Node could be pretty viable.