Well, you've gone over my head, but given me plenty of reading material. Thanks.
> Instead they like to emulate statement based languages with cute but not very abstract or reusable boxes.
Indeed, though they're rarely cute.
> Text based representation of computer languages is rather archaic when you think about it.
As a workaday sort of guy, it's not really. The code I'm writing at the moment is built on so many abstractions of the underlying storage, the atoms of functionality on the processor and other realities, that I am able to fairly naturally "think in" the language. My run-time makes decisions about sorting, searching, filtering, iterating and so on for me. The typing and context assumptions it makes, the terse nature of it (without golfing) - the attempt to divine my intent without so many words spilled, means I never feel like I'm doing busy work - the boiler-plating, the exception trapping and so on. Someone else's implementation of any given task I need to perform is probably a single command away from being available to me.
I may have twisted my imagination to its will, but we get on well now. I don't find it tedious and don't find I need an IDE or related tools to count the pennies.
Do you have a vision for a "next gen" (not quite Star Trek Next Generation - "Computer, extrapolate" level) programming paradigm? Are we talking an overhaul of computer architecture or will there always be some clever person writing our C for us? Abstractions all the way down...
Also, an AST for some given procedural code, when represented graphically, might look (superficially) like a Jackson Structured Programming diagram, which would have been created by hand... Maybe text is the wrong tool :)
Also the fact it boils down to code is not true at all. It all comes down to an AST. Text based representation of computer languages is rather archaic when you think about it.
I mean, look at IDEs. So many handle code transformations for the user because of how tedious the work is. Not only that, but in order to perform these translations it is transforming the code into an intermediate form it can work in, performing the specified transformations, and then transforming it back to the textual output. It is crazy.