3 ms·
Correct me if I'm wrong, but teaching a computer to produce good low level code from high level code seems very similar to the machine translation problem (tran
by 0xdeadbeefbabe 12y ago
Correct me if I'm wrong, but teaching a computer to produce good low level code from high level code seems very similar to the machine translation problem (translating English to X). Why are people so hopeful about solving the former problem when the latter problem is so hard? Or are these two problems so different that the failure so far to solve one has no impact on the other?
- comex 12y agoI'd say those two things are only superficially similar. One is trying to correctly interpret a syntax which - is tailored to the characteristics of extremely parallel computers which spend years unconsciously learning somewhat pointless statistical micro-rules, and then layer a formal grammar on top of that (both layers need to be correctly maintained); and - sometimes, due to ambiguity, can't be parsed without understanding the nature of what is being referred to (which can be anything one can imagine). The other is trying to transform expressions which are already formally specified (with semantics to a large extent based on computers' whims rather than humans', even in very high-level languages) into a more efficient form. Doing this as well as humans can could require AI-ish "reasoning" about parts of the program, but it's basically a different task. There's no need to understand everything in the world to know what a Haskell program does.
- tmerr 12y agoDesigning a mapping from a new language to machine code is easier than retroactively trying to map two languages together that were never meant to be. Especially if those languages are complex and ill-defined.
- yayadarsh 12y agoEven a high-level programming language has a strict grammar with no ambiguity, albeit maybe with some syntactic sugar and "higher-level" atoms. The same cannot be said about natural languages.