I think flow-based programming was supposed to be something like that. As spreadsheets show us, we haven't really figured out how to scale this approach to more complex applications.
Spreadsheets show us that 2d grids and a lack of other programming concepts make it very hard - it's a distinct subset of flow programming:
A unit of code an take an arbitrary number of inputs from a 2d grid and give you 1 output. Real Flow programming lets you have multiple inputs and outputs and aren't constrained to 2d. I think the biggest constraint is representing the dimensionality and interaction ... but we have classes and deep package structure in Java, so it's probably more of a effect than cause, but still a blocker to wide adoption.