What are your thoughts on a future where code is represented as a structured model, rather than text? Do you think that AI-powered coding assistants benefit from that?

Last Updated: 02.07.2025 01:13

What are your thoughts on a future where code is represented as a structured model, rather than text? Do you think that AI-powered coding assistants benefit from that?

First, it’s worth noting that the “syntax recognition” phase of most compilers already does build a “structured model”, often in what used to be called a “canonical form” (an example of this might be a “pseudo-function tree” where every elementary process description is put into the same form — so both “a + b” and “for i := 1 to x do […]” are rendered as

+ for

Long ago in the 50s this was even thought of as a kind of “AI” and this association persisted into the 60s. Several Turing Awards were given for progress on this kind of “machine reasoning”.

Top fantasy baseball prospects: Brady House joining the Nationals, James Tibbs III traded to Boston - NBC Sports

Another canonical form could be Lisp S-expressions, etc.

Most coding assistants — with or without “modern “AI” — also do reasoning and manipulation of structures.

plus(a, b) for(i, 1, x, […])

Activision Quietly Force Adverts into Call of Duty Black Ops 6 and Warzone Loadouts and Players Absolutely Hate It: 'At This Point It Really Feels Like Opening Up a Mobile Game' - IGN

in structures, such as:

NOT DATA … BUT MEANING!

A slogan that might help you get past the current fads is:

'Call of Duty: Black Ops 7' to Star Milo Ventimiglia, Kiernan Shipka - Variety

It’s important to realize that “modern “AI” doesn’t understand human level meanings any better today (in many cases: worse!). So it is not going to be able to serve as much of a helper in a general coding assistant.

/ \ and ⁄ / | \

a b i 1 x []

Why did my ex of 2 years move on so fast after he left me? Why does he act so cold towards me, and as if I don't exist?

These structures are made precisely to allow programs to “reason” about some parts of lower level meaning, and in many cases to rearrange the structure to preserve meaning but to make the eventual code that is generated more efficient.

i.e. “operator like things” at the nodes …