On Wednesday, 18 November 2015 at 02:41:33 UTC, Jonny wrote:
I am mainly talking about the organizational aspects of higher
level of abstraction rather than code generation.
Basically dealing with "files" is so old school. They reduce
coherence of the abstraction. Modules help but still are file
based.
I'd rather have a list of functions, a hierarchical view of
class relationships(the uml like design).
I'd like to see the project on a higher level of abstraction
instead of the very concrete "files" approach that hasn't
changed since punch cards.
Yes, I agree with you. I've felt the same way for a long time.
Unfortunately it is very hard and expensive to build such tools.
They exist and are in use, but in very specific domains.
One of the key problem with the concept is that programmers often
edit and mutate their programs with many unfinished pieces laying
around before they compile. If they started by defining
interfaces then it would be a lot easier to make a good tool.
But if you look at reactive/dataflow programming you'll find
advanced tools that have been in production use: animation,
audio/dsp, control systems for critical systems etc.
http://blog.interfacevision.com/design/design-visual-progarmming-languages-snapshots/