>I don’t think any technique is inherently bad: imperative, global variables, and even “goto” can be used wisely to solve problems.
The word "wisely" does the heavy lifting here. Put it this way: would you rather work on a legacy code base that has goto statements all over the place, or on one where strict standards were applied?
I find this is the relevant question when it comes to programming styles.