I've just remembered two, perhaps rhetorical, questions that I was once asked:
- How can ever Java be faster than native code when it runs in a virtual machine?
- When I miss a semicolon of the end of a compilation line, why doesn't it just insert the semi-colon and continue? If it knows what's wrong with it, it should just fix it?