I've been using Python and Ruby on and off for a couple years (largely because I haven't found the need to use it seriously day job or side projects).<p>One thing that strikes odd for me is how people describe Python/Ruby are way more readable than Java.<p>I felt that Python, while more readable than Ruby (because Python uses less symbols), still contain more nifty tricks compare to Java.<p>It's true that the resulting code is less code but behind that less line of code bugs might linger around because there might be plenty "intents" being hidden deep in the implementation of Python.<p>The Python way that is touted many times is "explicit is better than implicit" seems to correlate better with the much maligned "Java is too verbose".<p>Anyhow, the other day I was refreshing my Python skill and learned the default implicit methods that I can override ( those eq, gte, gt, lte, lt) and I wonder how overriding those resulted in less lines of code compare to Java overriding equals, hashCode, and implementing one Comparator method than can return -1, 0, 1 to cover the whole spectrum of gte, gt, lte, (and even equality, given the context).<p>I suppose everything is relative...