I&#x27;m not claiming everything is fine. There are lots of problems with JavaScript as it stands.<p>I don&#x27;t think the differences between the CLR and JS are &quot;substantive&quot; in that they make it impossible to build working, performant apps. So far the main things you have cited are (a) the lack of WeakRef and (b) a bad standard library. I truly don&#x27;t mean any &quot;insult&quot; here, but weak references do not strike me as something that makes the difference between an app working (and working fast) versus being incredibly slow. WeakMap covers lots of the use cases for WeakRef already. On the native side, Objective-C didn&#x27;t even have weak references until iOS 5. As for the standard library, developers just add lodash or whatever they need; it&#x27;s not ideal, sure, but it&#x27;s just a question of whether the functionality comes bundled or whether developers add it themselves.<p>If you add all the things you want to JS in order to get it up to parity with .NET by your definition, but do nothing to the DOM and rendering stack, you&#x27;ll still have the performance problems people cite with mobile Web apps. On the other hand, if you do nothing to JS and fix the DOM and rendering stack, then I believe the Web <i>will</i> be able to compete with native. This is not to say we shouldn&#x27;t improve JS, but it&#x27;s not on the top list of things holding the Web back.