I've been looking at some Javadocs for Hadoop and Hazelcast to name a few and I've been seeing this Impl suffix as explained in the article above. I can't stop double taking at a classes that have this suffix. What is the point? What happened to learning how to name your classes? Why isn't there a Interface suffix or Abstract prefix in the class name if you are so lazy? It feels very weird seeing the name of what you want and the Impl version of what you want. I feel like someone thought it was a good idea for a few things and other people saw it, liked it and applied it massively.