Good point. If you remember the days when compiling your program meant taking a deck of punch cards to the data center, handing them off to an operator, and then waiting a few hours for the result, you spent a lot more time planning your code and running it through your mental line-level debugger than you do today.
The goal of 3d printing and the like is to make mechanical engineering more like software so you can get a tight iteration loop