3 ms·
I've been a Hal Abelson and Sussman devotee for many years but I've been on the fence about the whole, "executed incidentally by computers," idea this year afte
by agentultra 11y ago
I've been a Hal Abelson and Sussman devotee for many years but I've been on the fence about the whole, "executed incidentally by computers," idea this year after Mike Acton's talk and digging into the data-oriented design philosophy.
As a long-time Lisp user it's quite comfortable to think of the world in abstractions and having a programmable programming language allows me to bring the domain to my code in a way that no other language can.
However one always hits the non-theoretical limits of the target platform. At that point it becomes a challenge to remove all of the abstractions to gain performance back or find difficult bugs in generated code.
It always comes back to data.
The challenge for engineers trying to decipher the intent behind code is that the intent went undocumented. It's too challenging and costly to encode those things in the source of a program. For a system like Voyager one must make conscious concessions about the data and use every trick they have to perform the transformations they need with the chips they have on that device. I don't think a sufficiently high-level language is going to help much -- even one that can synthesize a program capable of running on Voyager's hardware.
It is crucial, I think, to be able to describe and document your data. You can re-create the program from the data.
Synthesis might be one avenue if machine learning is capable of producing models that can generate their own ideas and theorems. Until then the problem space is still too large, I think, to move it out of NP. Maybe if we get the graph isomorphism into P.
But if we get that far I don't think we'll need programmers anymore.
- deleted 11y ago[deleted]