When two people independently construct the same code with only trivial naming differences, what then? Is that a copyrightable expression or is it an uncopyrightable idea?
The problem I think GP is citing is that it's unreasonable when one piece of code violates copyright for carrying out some function, and another piece of code does not violate copyright for carrying out that function, even though after being run through some automated transformations (for example, an optimizing compiler), the machine code for the two pieces of code is near identical.
One person uses a for loop, another uses do while, another uses recursion. Copyright law doesn't care that they all do the same thing; one could be a copyright violation while the others are not.
If you abstract copyright to apply to the functionality of the code, you turn copyrights into patents. If you don't, anyone can tweak code to be literally different while having the same function.
The code is expression. Neither can enforce the code against the other; both can enforce against third parties (with registration).
Machine code cannot be copyrighted under U.S. law. It is not an issue in the Oracle/Google case.
You cannot abstract copyright. It is a codified legal doctrine (i.e., an expression), not an abstract set of ideas. On that note, however, the abstract idea behind copyright law (protection of intellectual property) is the justification for patent and trademark laws.
It's really not that complicated.