Comments and byte compiled Lojban

Christopher Allan Webber at 2015-01-10T18:08:24Z

x-posted to my blog

Thought of the morning: people often say "we have variables and comments because programming languages are for humans, not computers". But thought experiment: if computers were really at the point where they were able to program themselves, and I mean really do it (even invent and code new things, and I don't mean genetic algorithm bullshit, I mean thinking about design... so this also means code as more than just "learning", but actually planning and programming something new), would they need variable names and comments?

My thought is: yes, or they'd need something like it. If you don't have this, this means you're effectively reverse engineering "purpose" in the codebase all the time, which can be both expensive and faulty. I think any AI that's not some ~dumb application of known heuristics will need to be able to "think" about the code at point, and knowing the reason for a code change is important. So of course relevant information should be recorded in that portion of the code.

Now, does that mean something as messy as English will be used (as the majority of present code is written in English)? I doubt it. Probably something like Lojban will be used. Maybe it will not even be plaintext code: it could be machine-readable, machine-thinkable code with "byte compiled lojban", or similar.

Relatedly, in the (glorious???) future where machines can think and design programs, assuming enough resources exist to keep said machines running, humans will have to interface with computers on a computer's level more often. Will Lojban as a second language be mandated in schools?

Brion Vibber, Timo Kankare, Evan Prodromou, Charles Stanhope likes this.

Mike Linksvayer shared this.

would they need variable names and comments? My thought is: yes

"If there would exist strong AI then who would teach it how to think" type of answer. We don't need description of every body movement to understand non verbal signs. "New people" would possibly able to understand whole program with integrating program in their thinking process without code isolation, decomposition and reinterpretation in terms of some learned language. If AI would work in this manner then "reverse engineering" term would have no meaning for AI.

Will Lojban as a second language be mandated in schools?

In ancient time when peoples like Donald Knuth wrote their software they thought that programs must understand people and when people make a mistake programs must correct it. Now when people make a mistake programs just fail. With this tendency answer yes: people will learn Lojban, AI would not learn English.

P.S. Sometimes I think that if I learn Lojban then I can write some code to translate most of my Lojban constructions simultaneously in correct English and correct Russian texts. And then I finally get rid of the thought: "Can native English speakers understand my text?"

mnd at 2015-01-11T23:34:31Z

Christopher Allan Webber likes this.

Interesting speculation, but I'd bet against two of your points:

> Now, does that mean something as messy as English will be used (as the majority of present code is written in English)? I doubt it. Probably something like Lojban will be used. Maybe it will not even be plaintext code: it could be machine-readable, machine-thinkable code with "byte compiled lojban", or similar.

If software can think about new software designs, I bet it has no problem understanding an evolved language. No reason for it to remain recognizably English (or Chinese, or whatever) for long, but no reason to evolve from Lojban at all.

Relatedly, in the (glorious???) future where machines can think and design programs, assuming enough resources exist to keep said machines running, humans will have to interface with computers on a computer's level more often. Will Lojban as a second language be mandated in schools?

No! If humans survive, they will not have to interface at a computer's level more often, which will be incomprehensible anyway. Computers will have zero problem communicating in human language to humans, to the extent concepts comprehensible to humans at all are relevant.

Mike Linksvayer at 2015-06-04T19:12:38Z