Bad programmers worry about the code. Good programmers worry about data structures and their relationships
Code is just the way to express the algorithms and the data structures.
Torvalds is not alone in this, by the way: “Show me your flowchart and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowchart; it’ll be obvious.” – Fred Brooks, The Mythical Man-Month. “Show me your code and conceal your data structures, and I shall continue to be mystified. Show me your data structures, and I won’t usually need your code; it’ll be obvious.” and “Smart data structures and dumb code works a lot better than the other way around.”
Knowing how the data will flow is all important. Knowing flow requires that you design good data structures.
If you go back twenty years, this was one of the big selling points for the object oriented approach using either SmallTalk, C++, or Java. The big pitch — at least with C++ because that’s what I learned first — was design the class and the methods, and then everything else would fall into place.
Linus undoubtedly was talking in broader terms, but poorly designed data structures often require extra rework of code, which can also lead to other problems.