We find ourselves in quite the interesting time period as up and coming programmers/engineers. After all, as we get ready to take our spot in the world of software, AI is doing the exact same. So, the question quickly becomes, will programmers and AI have a symbiotic relationship as a whole? Or will it just become another job field threatened by the latest and greatest in technology? Personally, I think it’s still too early in the life of AI to truly say that it’ll be some enemy. So, in terms of a symbiotic relationship, how does AI stack up right now? I’ve had the opportunity to see both the pros and cons of using AI via employing it in limited amounts for my Space Invaders emulator project.
First and foremost, I think it’s pertinent to discuss the actual manner in which I’m using AI for the project. I don’t have it write code (I find they’re all quite bad at writing anything even approaching complex code), I don’t have it explain coding concepts in the language I’m using. I have it attempt to dig up obscure information on the Intel 8080 CPU that we’re emulating so I can better implement the opcodes. For instance, I recently asked it to dig up information on how the AC flag was affected by the SUB instruction as the manual mentions it’s affected, but doesn’t actually detail how. Then, I’ve found it helpful to ask it to give me an example of what the flow of the instruction would look like after it’s done explaining it. We’ll come back to why I do this later, as it’s been incredibly important to my usage.
I’m a positive guy though, so let’s start with the pros I’ve found from using it. I’d say the best part is that it can massively reduce the amount of time I need to spend looking something up. AI is obviously going to be faster than a human in most cases when it comes to pouring through and finding relevant data. Additionally, having it be able to provide examples is great, as it’s not always easy to find examples online, especially for more obscure things. One final thing that has been fantastic is I can ask for additional clarification on a point, and it can actually do that for me. Bit more effective and timely than trying to follow up on a 14 year old forum post, who would’ve thought. That being said, it certainly hasn’t been an entirely peachy experience.
One major negative has led to me being very particular and restrained with my usage. Returning to why I ask for examples after each explanation, it’s quite simply so I can check it’s work and logic. Over the project I’ve had it give an answer, and then provide answers that outright don’t match with the reasoning it just provided. So, I ask a clarifying question, and it apologizes and thanks me for correcting it. Great. Glad I’m helping you learn. But, then I’m not certain of which part was actually wrong. Was it the explanation, or was it the implementation? Not being confident in that just leads me back to the old-school solution of having to personally dig through those more than a decade old forum posts. Realistically, I think that’s the only noteworthy con I’ve had thus far, but it’s an absolutely awful one. With the pros and cons laid out, the final question becomes:
Has AI usage helped me to become a better programmer? No. At least for my usage case I don’t really see how it would help me to become a better programmer in the first place. It’s essentially been a glorified search engine for me thus far that can provide some examples. I can’t say it’ll remain that way as we continue but right now, any skill improvement is very much my own. Time will tell!
Tune in next week(?) for another exciting episode of Aidan’s Emulator Experience. Will he continue to slam his head into the keyboard while searching for obscure information on the AC flag? Will he struggle with debugging the CPU? Will AI stop giving him mixed answers? You’ll just have to tune in!
std::cout << “Bye Bye!\n”;
Leave a Reply