Mixed Metaphors

It is increasingly common to read code that makes totally inappropriate use of data structures. On several projects, I have encountered C code that was written as if it were Java. On the face value the two languages are similar enough, in syntax, in performance, and in verbosity. It would stand to reason that Java code should port easily to C, and to a lesser extent the other way round. Unfortunately, the reality is something far from such seemingly reasonable expectations.