"Wrong stuff" here means the overhead it takes for the interpreter to parse and process the code. It's connected with the notion of interpreted vs compiled languages. There are several models of code translation in use, which roughly fall into one of following categories:
- Native compilation - source code is directly compiled into machine code. Best performance at the expense of portability. Commonly associated with C and C++,
- Intermediate compilation - source code is compiled into a simplified intermediary language (bytecode), which is later interpreted or compiled (just-in-time compilation) into machine code during execution. Better portability than native code, better performance than pure interpretation while retaining some of the upsides of interpretation (like late binding). Examples include C#, Java and other languages targeting JVM and .NET CLR,
Hence the choice between interpreted and compiled language boils down to the question, what do we value more, developer productivity or performance? The migration described in the article seems to follow the same line of thought, with strong prototyping language Ruby being replaced by JVM-based Scala due to performance considerations.