3 ms·
The article presupposes that ML is only for code generation but not maintenance. Why couldn't this change in the future? Perhaps you'd have an english language
by colordrops 4y ago
The article presupposes that ML is only for code generation but not maintenance. Why couldn't this change in the future? Perhaps you'd have an english language document that describes the functionality, and as you update it, the code gets re-generated or updated.
- matijash 4y agoThis is an interesting thought. Kinda analogous to when you e.g. change your C++ code and the new assembly code is generated. If there was high-level intent (e.g. something like spec language) that was preserved and versioned, that might be possible I guess.
- marginalia_nu 4y agoWouldn't that be strictly worse than specifying the functionality in code? The reason we've invented programming languages is because natural language is ambiguous and imprecise. Consider the instructions "take a list, add the number three and five, return the list" This compiles to both f(list): 3+5; return list; and f(list): list.add(3&5); return list; and f(list): list.add(3); list.add(5); return list; Decoding this type of vague descriptions is something human programmers struggle with, often resulting in a discussion with whoever wrote the requirements about just what the requirements say (sometimes they don't know and it needs to be worked out).
- spc476 4y ago> This compiles to both [three code segments] Did you intentionally do an off-by-one error?
- marginalia_nu 4y agoNot really, but it furthers my point about natural language being imprecise. Even the grammatical rules are ambiguous and frequently broken. It's as they say: Time flies like an arrow, fruit flies like a banana.
- colordrops 4y agoI agree with you, and in fact I think that initial code generation like CoPilot is strictly worse as well. But I'm discussing something orthogonal to code quality here.