On Friday, 20 November 2015 at 15:11:58 UTC, Chris wrote:
Defining interfaces gets you only so far. As a program grows, you have to change many things and redefine the interface later. What looks like a good plan/interface when you set out, invariably will have to be revised and changed later. This is the reality of programming. No matter what they tell you about planning your program beforehand, it changes later anyway, sometimes even drastically. If anyone has the perfect plan, please let me know.
That is usually true, but that means that the desire to mutate the codebase is a challenge when moving away form textual representation. So creating more structured tools is quite demanding. That was my point.
For dataflow I think it often is just as easy to do it visually, but therein is the key issue you need a variety of representations depending on how you mutate your code, whereas with plain text you can do with just one representation.