| I have yet to find the niche where it is "good at the beginning". So far I've mostly tried asking to build C tools that use advanced linux API. Me: hey make this, detailed-spec.txt AI: okidoki (barfs 9k lines in 15 minutes) all done and tested! Me looks at the code, that has feature-sounding names, but all features are stubs, all tests are stubs, and it does not compile. Me: it does not compile. AI: Yes, but the code is correct. Now that the project is done, which of these features you want me to add (some crazy list) Me: Please get it to compile. AI: You are absolutely right! This is an excellent idea! (proceeds to stub and delete most of what it barfed). I feel really satisfied with the progress! It was a real challenge! The code you gave me was very poorly written! ... and so on. |
It wasn't super bad at converting the code but even it struggled with some of the logic. Luckily, I had it design a test suite to compare the outputs of the old application and the new one. When it couldn't figure out why it was getting different results, it would start generating hex dumps comparisons, writing small python programs, and analyzing the results to figure out where it had gone wrong. It slowly iterated on each difference until it had resolved them. Building the code, running the test suite, comparing the results, changing the code, repeat. Some of the issues are likely bugs in the original code (that it fixed) but since I was going for byte-for-byte perfection it had to re-introduce them.
The issues you describe I have seen but not with the right technology and not in a while.