Donald Knuth speaking in an interview, from The Essential Knuth by Edgar G. Daylight:

It is very easy to become enamored of logical consequences without being enamored of efficiency. Once you get bitten by this bug, you can see all kinds of beautiful possibilities that are intellectually satisfying but economically tragic.

Of course not all abstract things are bad. It's fun to solve puzzles, so you look for new puzzles to solve. And when you've solved the puzzle, you feel satisfied. But not every puzzle deserves your attention. Puzzles are challenges, and so you rise to the challenge and feel satisfied, but random puzzles are rarely meaningful.

I recently read Peter Naur's critique of Dijkstra's "Pleasantness Problem". It's hard for any scientist to separate all the things that are going on in his or her mind at once. Dijkstra was trying to separate things into orthogonal parts, while Naur saw everything as a whole.

This is characteristic of computer science: I believe the thing that marks a computer scientist most is an ability to jump across levels of abstraction: We see the small and the large and several things in between as a continuum, and we don't even notice that we're jumping levels. But we know that, in order to accomplish some big goal, we have to modify some register at the lowest level. The people who are good at seeing the whole picture at once in this way tend to be really good programmers, but they tend not to be so good at separating things out into independent components.

Discussion at: https://www.facebook.com/groups/programming.philosophy/permalink/883289105054810/