Hmm. I agree with everything you’ve said, but disagree regarding the utility of AI.
Everything we’ve done since the patch cord days has been to create tools that make it easier to reason about our code. We’ve done little or nothing to address the problem of reasoning about requirements and specifications. The closest we’ve come is a kind of iterative development, testing, and user validation process.
I think that ChatGPT and its siblings and descendants are likely not the answer, but I think that it must be possible to create tools to help us reason about requirements and specifications before we start coding. Given the difficulty of processing natural language, I think that whatever those tools are will either be AI systems or draw heavily on AI concepts.
Or maybe not. Maybe it really does take a trained and creative human acting only in concert with others to implement desires.
I agree. A neural network that you can basically treat like a fellow programmer that is always free to help you would be amazing. Rubber duck debugging with an intelligent Ducky. But for it to be useful it has to be able to understand domain knowledge as well as understand and question the explanations you give it. I think that would at least be extremely close to general intelligence. And that I don’t see happening any time soon.
Yes, you might be right that the kind of system I’m thinking of is too close to general intelligence to be anything we’ll see anytime soon.
I still hold out hope that we can somehow make progress on the problem of gathering requirements that can be turned into specifications that make sense. As far as I can tell, the number of people who can do that job effectively are becoming an ever smaller fraction of what’s actually required to keep up with the demand to create new systems.
Hmm. I agree with everything you’ve said, but disagree regarding the utility of AI.
Everything we’ve done since the patch cord days has been to create tools that make it easier to reason about our code. We’ve done little or nothing to address the problem of reasoning about requirements and specifications. The closest we’ve come is a kind of iterative development, testing, and user validation process.
I think that ChatGPT and its siblings and descendants are likely not the answer, but I think that it must be possible to create tools to help us reason about requirements and specifications before we start coding. Given the difficulty of processing natural language, I think that whatever those tools are will either be AI systems or draw heavily on AI concepts.
Or maybe not. Maybe it really does take a trained and creative human acting only in concert with others to implement desires.
I agree. A neural network that you can basically treat like a fellow programmer that is always free to help you would be amazing. Rubber duck debugging with an intelligent Ducky. But for it to be useful it has to be able to understand domain knowledge as well as understand and question the explanations you give it. I think that would at least be extremely close to general intelligence. And that I don’t see happening any time soon.
Yes, you might be right that the kind of system I’m thinking of is too close to general intelligence to be anything we’ll see anytime soon.
I still hold out hope that we can somehow make progress on the problem of gathering requirements that can be turned into specifications that make sense. As far as I can tell, the number of people who can do that job effectively are becoming an ever smaller fraction of what’s actually required to keep up with the demand to create new systems.