This is a reproduction of a blog post written by Stephan Schmidt and originally published on May 2, 2008 at this URL. This version was retrieved using the Wayback Machine. Other than some minor formatting changes and modified links, this post is a copy of the original one.
Never, never, never use (unwrapped) String or long or int. Why? Those primitive types have no semantic meaning. They are hard to understand, hard to maintain, and hard to extend. I've been evangelizing this concept for some time, the essay "Object calisthenics" finally prompted be to write this post. Suppose we have an example of a cinema ticket booking service.
Update: *If you just want to drop