This is the fourth of a series of posts based on the book Programming Proverbs by Henry Ledgard. The index for the series is an earlier post and discussion of the list as a whole is taking place in the comments there. Comments on this "proverb" are of course very welcome here.
I'm not so sure I am "in love" with this one. On one hand I like the top-down approach but on the other hand I am not willing to write off other approaches without a fair hearing. To me the word "beware" means be careful, analyze other approaches carefully and adopt only what really works.
There is a fine line between rejecting new ideas out of hand and holding on to old ideas without thinking. The "new ideas" of structured programming over 30 years ago and object oriented-programming over the last 15 years or were not instantly and by everyone adopted. The criticism, study and discussion over them made them better. In the case of object-oriented programming it also took some fairly serious changes in programming languages to make it work well.
I would argue that object-oriented programming took a second generation of programming languages before it really took hold. C++ was C with objects and started people thinking. Java really made OOP work and C# (generation 2.5?) added still more improvements.
So look at other design approaches. Is there good in them? Bot adopt anything just because it is the fad of the hour but don't reject things just because they are new.
As an aside, Visual Basic has become as good a language for OOP as Java and C# but for some reason has not been publicly accepted as such. As an old BASIC fan I am wary of those who can't see that and wonder if it is OOP they don't understand or Visual Basic .NET. Beware of people who can't look at a programming language objectively.