TBH, I've never much liked this framing. There are, so far as I can tell, three very different things that get lumped together in our field: programming, software engineering, and computer science. Brooks is talking about software engineering here, and I agree with everything he's saying in that context, but there are many findings in theoretical computer science that are as primal as anything we know from any other branch of the sciences.