I think you are probably correct in your first paragraph although I think it will take quite a while until we get to AI good enough that it could develop new systems autonomously.<p>Software development <i>is</i> a hard problem. Even a small system or ruleset easily explodes into incomprehensible complexity, a phenomenon called emergence.<p>There is also a certain fragility in how computers and computer programs work. Even the slightest error or failure can stop a system completely.<p>But then you lost me.<p>I do not think that graphical programming is the future. Next to nothing of the essential complexity of developing anything, from small algorithms to large systems, comes from the syntax, although it can contribute to the accidental complexity, together with the used tools, lack of time, and other factors.<p>Replacing a formal written language with symbols or flowchars have been tried and retried, and it never really took off. I believe there are good reason for this, and one of them is that you can not simplify a complex problem by using a tool that has less power - or expressiveness. These tools typically make simple problems simpler and harder problems next to impossible.<p>An other problem is that visual tools, and especially flow charts based tools, actually tends to be <i>harder</i> to comprehend when the graphs and visualisations are getting larger, compared to their equivalent textual representation.<p>Anyway, while selecting a good language is important and can improve or reduce the accidental complexity, the accidental complexity is just a small fraction compared to the essential complexity in larger systems, as argued by Fred Brooks in 1975.<p>But I agree that graphical symbols and drawings, pictograms and other visual elements could possibly enhance the readability and comprehension of written text, just as a small graph can help in natural language texts.<p>But then it is perhaps more along the lines of Knuths literate programming ideas, where the program is also the documentation. Knuth didn&#x27;t quite made it right though as described here: <a href="http:&#x2F;&#x2F;akkartik.name&#x2F;post&#x2F;literate-programming" rel="nofollow">http:&#x2F;&#x2F;akkartik.name&#x2F;post&#x2F;literate-programming</a> . Not really his fault as he tries to build on top of existing languages, and just about all of them have have a rather backwards structure for technical reasons.<p>However, that link also quotes Fred Brooks and this nugget of wizdom from 1975. (or is it -85.)<p><pre><code>    “Show me your flowcharts [code] and conceal your tables [data types],
    and I shall continue to be mystified.
    Show me your tables, and I won’t usually need your flowcharts;
    they’ll be obvious.&quot;
</code></pre>
In other words the data types are the main characters in the narrative.<p>To sum up: The essential complexity is more or less impossible to get at, at least without AI (but then it just exists but we can spend more artificial brainpower on it while we are slacking off - and hope we are not killed and used as raw material for neural compute machines somewhere in the process.)<p>The accidental complexity on the other hand could possibly be reduced with better languages and editors that formats and displays the code in the most visual effective way for our poor minds, and I&#x27;m all for editors were the comments would be nicely typeset and where I could insert images and graphs, and also all other visual improvements that could enhance our awareness of the global structures.