Designing programming languages beyond AI comprehension
4 points
6 hours ago
| 2 comments
| HN
What characteristics should a programming language have in order to make automated analysis, replication, and learning by artificial intelligence systems difficult? Any idea?
jotux
4 hours ago
[-]
Template metaprogramming, move semantics, const correctness, multiple/virtual inheritance, implicit conversions, many ways to initialize variables, argument-dependent lookup, static variables/methods, SFINAE...add all of that and you'll surely make a programming language beyond all comprehension.
reply
mr_bob_sacamano
4 hours ago
[-]
My "naive" idea was to create something like a closed, private programming system where developers write code in an magic IDE on isolated private VMs, the compiler is distributed and secured on a private blockchain (very expensive I guess), and only compiled TypeScript is exposed publicly keeping the language’s inner workings completely hidden...
reply
apothegm
2 hours ago
[-]
… what is the goal here? What’s the reason you want a programming language that LLMs can’t learn?
reply
hyperhello
1 hour ago
[-]
Apparently adding LLM to any pointless thought makes it scientific research?
reply
ticulatedspline
2 hours ago
[-]
just mutate the syntax and features based on arbitrary but readable factors that llms easily trip up on and are highly contextualized.

Change capitalization of keywords based on filename length. If for odd length IF for even. iF for prime numbers.

variables named in English are strongly typed, variables in Spanish are weakly typed.

change symbols based on line absolute number. && on even lines AND on odd.

line terminators differ based on the number of consonants in the method name

every 5th consecutive line should begin with the symbol for comments unless there's a real comment more than 10 lines above but less than 23.

closing brackets are left brackets when the file-size is over 3k

switch assignment evaluation left vs right based on folder depth.

all conditions that an IDE could handle in a rote, calculated way real-time but would probably make the training data nonsensical. An LLM might produce the code based on language features but likely will never get the syntax right making any LLM output largely useless.

reply