A couple days ago I wrote up a quote post about ChatGPT’s improvements and had an online discussion or two about the ChatGPT and programming in general. At least one opinion si that having ChatGPT write code for me is a terrible way to learn, and it will be the end of society and such.
Maybe they’re right. But I thought it was worth putting together my thoughts on how it has been useful to me.
I started programming in GWBasic probably somewhere before my 10th birthday, moved on to MSDOS batch, 4DOS’s scripting enhancements (although to be honest I liked the version that Norton whitelabelled NDOS a bit better), moved on to Pascal and C as a teenager, and since that time I mostly switched to casual “solve a problem” scripting rather than actually trying to comprehensively learn a language.
I’ve recently been getting into C# with the goal of actually learning the language rather than just solving a specific problem of the hour. It’s been fun and frustrating and the frustrating times are the ones where ChatGPT has been helpful.
I get the concerns about programmers copy/pasting code from StackOverflowChatGPT without really understanding it, and that’s a very real part of why I’m not especially proud of the PHP I’ve written over the years (you’ll often see some very mixed styles of coding clearly indicating the parts I ripped wholesale and modified a tiny bit, wiithout necessarily understanding – A habit that I am leaving behind because the point is to learn).
But where it is crazy useful is when there are multiple APIs or packages and I need a starting point or summary. Do I want System.Timer
, System.Threading.Timer
, Stopwatch
, DispatchTimer
, or to go down the rabbithole of UWP apps and start digesting Windows.System.Threading.ThreadPoolTimer
? ChatGPT gave me a summary, and I asked a couple follow-up questions to confirm my understanding. Awesome. Could I have figured it out on my own? Sure, absolutely… But having a pointer of where to start and then digging into the documentation from there is invaluable.
It’s an interesting world.