About this time (around the turn of the millennium), new ideas were gaining currency in other coding communities. An interest in object-oriented design galvanized the Java community. You may think that this is a redundancy, as Java is an object-oriented language. Java provides a grain that is easier to work with than against, of course, but using classes and objects does not in itself make a particular design approach.

What does a grain mean in this context?

1 Answer 1


To work against the grain is a metaphor from woodcarving: the grain of a plank of wood is the direction in which the natural light/dark lines created by growth rings run. Working against this grain - cutting and carving across the lines instead of parallel with them - is more difficult and often creates undesirable patterns.

So the author is saying that it is easier to program in accordance with Java's 'natural' characteristics than to impose methods and entities which it was not explicitly designed to handle.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .