Inconsistent error handling, for example. Why do some functions fail silently, some functions return false, some functions produce warnings, some functions throw exceptions, and some functions tell you to call another function to retrieve the error code?
Ruby and Python are much more consistent in that regard.
Ruby and Python are much more consistent in that regard.