Is there anything simple Java can't do that can be done in a similar language or vice versa?
Lets say you have a piece of software in language X and you rewrite it entirely to Java (or the other way around), what are the little things that would seriously hamper the translation?
At first I was thinking of comprehensions or multiple exit loops, but these are easily rewritten with a for_each loop with an if statement and a local variable respectively.
Maybe Exceptions? But which language does not have a similar construct?
Polymorphism? But I don't see how I could show that in a few lines.
I'm looking for a short and sweet example, that would give some serious headache to work around.
EDIT
There are some issues regarding the similarity requirement. I don't think I can explain it better because it is a very theoretic question. The intention was to prevent answers critics would dismiss out of hand because the languages are so different.
For example, I especially like the Lisp conditions answer, although Lisp is a very different language the construct seems similar to Java exceptions but with a twist that cannot be translated. Something like that in C/C++,Fortran,Ruby even, would be even better.
It's a trick question: if you identify such a feature, then it just means the other language wasn't "similar" after all!
But if you relax the similarity requirement, the most obvious one to me would be conditions. In Common Lisp, conditions are like a more flexible form of exceptions. You can call a function, which signals a condition (like throwing an exception), but the caller can then say "go ahead and continue anyway". In Java, once an exception is thrown, there's really no way to continue execution at the point of throwing.
(I know I could say "macros", too, but that's an area of CL that's arguably not similar to Java at all.)