The problem with having 2 representations of the same piece of information is maintaining them in sync.
If we use text for specific and visual for abstraction, we still need to maintain both and there are no effective tools to do that without creating additional work.
There are solutions to this.
A) Let one representation be derived from the other. Easiest by making the derived representation read/view-only.
B) Encapsulate the specific/low-level details into a generic black-box, which can then be composed.
If we use text for specific and visual for abstraction, we still need to maintain both and there are no effective tools to do that without creating additional work.