3 ms·
Follow the trajectory from manually keying in machine code instructions, to punchcards with ASM, terminals with C, GUIs with Smalltalk… have we not been watchin
by williamcotton 4y ago
Follow the trajectory from manually keying in machine code instructions, to punchcards with ASM, terminals with C, GUIs with Smalltalk… have we not been watching the progression towards natural language?
Formalization of requirements will always be necessary. But allowing for an errant semicolon or misspelled word seems to be the direction we’re headed. That is, explicitly cover all cases and requirements, just don’t worry about exact machine syntax or function names.
- voidhorse 4y agoI see your point but it's a difference in kind. The general trend in the development of higher level languages has been to allow user to encode common patterns in ever terser sequences of symbols (e.g. no need to write your own iterator, the compiler will do it for you). However, these terse descriptions of a pattern are still deterministic and precise. This isn't quite the same as using natural languages to try and get a machine to guess at the program you want. I think it'd be a shame if we abandoned the trajectory of ever-higher programming languages in favor of relying on LLM's to generate roughly what we want in existing, "boilerplate heavy" languages. There are quite literally lines of research in programming languages right now that formally and in an incredibly terse fashion, allow you to generate provably correct software from a short, formal meta-specification. To abandon that in favor of LLM generation strategies would be a clear loss in my opinion. LLM's have their uses of course, but at the moment we're definitely in a period of major overfitting and absolute lack of reason when it comes to the application and development of these tools.