1. Languages are not fast (or slow), implementations are. The language semantics can help or hinder, but in and of itself a language doesn't run.
2. This is old news. The Shootout was debatable before, but 12~18 months ago it suddenly decided that only one implementation of each language (picked completely arbitrarily and according to no clear cut rules, and sometimes allowing two implementations e.g. Python gets CPython 3, Lua gets Lua, but Ruby gets both MRI 1.9 and JRuby, Erlang gets HiPE and Javascript gets V8) would be allowed after — as far as I understand — a spat with the pypy team.
JRuby really is a different language than Ruby. Not only is it built on a different ecosystem of libraries (anything on the JVM vs anything for Ruby) but there are language extensions that make it operate differently (Java MBeans being one of them.)
> Not only is it built on a different ecosystem of libraries (anything on the JVM vs anything for Ruby)
Irrelevant, you can make the same claim about any impementation of a language: GHC has extensions to Haskell, why isn't JHC benched as well? IronPython can use .Net libraries but not Python C-API libraries, why isn't it there?
> there are language extensions
Which are not used in the shootout and — again – are irrelevant anyway.
The JRuby measurements shown on the benchmarks game website are for plain Ruby programs without any language extensions, but using -Xcompile.invokedynamic=true
Languages are not fast (or slow), implementations are.
Actually implementations are not fast (or slow) either, hardware is. Not like that matters. When somebody says a language is 'slow' they mean on typical hardware, under some common operating system, using the implementations available, and so on.
Everybody knows this. You're dissembling because your favorite language is slow.
> When somebody says a language is 'slow' they mean on typical hardware, under some common operating system, using the implementations available
So when somebody says a language is "slow", it's as when somebody says a language is "weakly typed", he picks arbitrary and unspecified parameters fitting what he wants the result to be, and then declares he was right?
> Everybody knows this.
Yes, just as everybody knows what "weakly typed" is (it's just completely different from one person to the next).
> You're dissembling
That word. I'm not sure it means what you think it does.
So when somebody says a language is "slow" ... he picks arbitrary and unspecified parameters fitting what he wants the result to be, and then declares he was right?
That's natural language for you, but if you try to understand what the assumptions are behind a statement then you have a good chance of coming to an agreement.
"It's a nice day today"
"Actually, a day is a unit of time it's the weather that is nice"
2. This is old news. The Shootout was debatable before, but 12~18 months ago it suddenly decided that only one implementation of each language (picked completely arbitrarily and according to no clear cut rules, and sometimes allowing two implementations e.g. Python gets CPython 3, Lua gets Lua, but Ruby gets both MRI 1.9 and JRuby, Erlang gets HiPE and Javascript gets V8) would be allowed after — as far as I understand — a spat with the pypy team.