Implicit Variable Declaration
The implicit variable declaration semantics in Python, Ruby, CoffeeScript, and non-strict JavaScript simplifies the language on surface but all at the end create ambiguities. It combines especially badly with block scope.
At the end, languages with implicit variable declarations end up adding more complexity and features to compensate the ambiguity. For example, Python has global and nonlocal keywords.