&quot;Sun made java fast. Google made javascript pretty fast.&quot;<p>But there&#x27;s a lot of daylight between what you call &quot;fast&quot; and &quot;pretty fast&quot;. For all the effort that has been poured into Javascript, it remains a slow language for general-purpose programming. That&#x27;s why asm.js could speed up JS as much as it could; if JS was already &quot;C fast&quot; nobody would have needed or used asm.js. And nobody would talk about Web Assembly if JS was already that fast.<p>It is definitely true that the bytecode interpreters that pretty much all the dynamic languages started with were not the last words in speed, and things like JITs and such have sped them up a lot. When the dynamic interpreted languages were routinely 50x slower than C, there was room for improvement. But there seems to be a wall at around 10x slower than C for general-purpose programming [1] that the languages are having a hard time penetrating from what I can see: <a href="http:&#x2F;&#x2F;benchmarksgame.alioth.debian.org&#x2F;u64q&#x2F;which-programs-are-fastest.html" rel="nofollow">http:&#x2F;&#x2F;benchmarksgame.alioth.debian.org&#x2F;u64q&#x2F;which-programs-...</a> (Bizarrely, they&#x27;ve broken out into two graphs, with the slower languages getting graphed first. It&#x27;s actually one big graph, I think.)<p>Having heard people say for many, many years that &quot;languages don&#x27;t have speeds, only implementations do&quot;, I no longer believe that. After vast quantities of time and effort have been poured into the dynamic languages, they&#x27;re still slow. Just not as slow as they used to be, and often with significantly larger memory footprints to get to &quot;not as slow as they used to be&quot;.<p>NB: Pity LuaJIT is no longer on that site. If you design your &quot;dynamic&quot; language for speed, you can do a lot better. But I&#x27;ve not seen proof you can design a language for convenience and dynamicness and then come along 15+ years later and make it C-fast.<p>[1]: I have to qualify that, because any JIT worth its salt can optimize certain very advantageous code down to C speed. As the benchmark contains some of these tasks, you can see the dynamic languages with decent JITs reach their tails down to near C-speed in that graph. However, being able to optimize code that loops over integers and adds them up to C speed or even beyond if you automatically use SIMD doesn&#x27;t mean that you&#x27;re going to C performance in general.