|
|
|
|
|
by taylodl
755 days ago
|
|
Fifteen years ago or so I had a conversation with a colleague about automated development. I pointed out that it should be possible, in principle, for you to specify all the tests for a system and the algorithm, genetic algorithms were the fad du jour, could work to produce the desired result. Test-driven development (TDD) was also really popular, so I was combining the two. We agreed that such an endeavor should be possible, but he protested that you haven't really gained anything: you will have just as much complexity in your tests as you do in your implementation, so what's the point? I pointed out it was complexity of a different kind, and one that humans are much better equipped to handle. Most people I've told this story have agreed with me. If a "bug" is encountered, well, add a new test and re-generate the code! Maybe the system should have the old set of tests, old code that was generated, and the new tests as an input - as an optimization. Can LLMs generate the needed code from a set of test specifications? I doubt it. Then again, neither could genetic algorithms. Maybe the two together can move the ball forward a bit - and that's the most fascinating thing to me. We don't need perfection to achieve useful. If I can create test specifications for a narrow sliver of functionality and have the needed code automatically generated - that's huge! But, and to answer the question this title asks, I would expect we'll still be using programming languages for quite some time. |
|