4 ms·
> Marketing spin aside, I have seen zero evidence that progress has been made in replacing humans with software for the task of turning vague requirements into
by MuffinFlavored 7y ago
> Marketing spin aside, I have seen zero evidence that progress has been made in replacing humans with software for the task of turning vague requirements into concrete, precise, machine-readable specifications
https://news.ycombinator.com/item?id=19347976 https://news.ycombinator.com/item?id=19347976
Maybe the "MarkDown + compiler for vague requirements" is just around the corner?
- luckylion 7y ago> Maybe the "MarkDown + compiler for vague requirements" is just around the corner? Isn't that where you put random code snippets + a vague description of what you expect it to do into a question on stackoverflow and wait for some rep hungry dev to turn it into working code? Jokes aside, even with humans doing the interpreting and high costs incentivizing those defining the requirements to be precise and clear, I see a lot of friction. A not-really-smart automaton won't help there, I'm afraid.
- RodgerTheGreat 7y agoExtremely implausible. Consider the task of writing an MP3 playing program. The vaguest specification possible might be "a program that lets me play MP3s". Imagine being given that task yourself. You might make a window with a list of tracks, a play button, and wire it up to an off-the-shelf audio codec. What if the author of that specification wanted a different organization of metadata, or audio visualization, or a favorites list, or a different color scheme? All these details would need to be provided. Having specified this information, you might still find there are finer details that need explanation- the way track titles animate, what it means to skip to a "previous" track while playing, the text sizes and whitespace, etc. What if you needed to support a novel audio format for which no existing libraries can be found? What would need to go into that specification? If you carried the exercise out to the point that your specification were sufficiently precise for your intent to be completely reflected the end product for an arbitrary program, your specification would be rather complex. If you have something as precise and communicative as a programming language, it is a programming language! There is no free lunch. You can make programming languages resemble English- see Natural Inform, the Interactive Fiction authoring system. It's very expressive, and the code is far more comprehensible to a lay reader than most languages, but an author still must be precise and explicit in composing those programs.