My Adventure with ChatGPT: A Developer’s Perspective
In a previous blog post, I explored the capabilities of GPT-3.5 using a series of prompts and outlines. Curious to see if the newer GPT-4 could outshine its predecessor, I decided to put it to the test using the same set of prompts and outlines. Join me as I compare my experiences and evaluate whether GPT-4 has improved upon the strengths and weaknesses of GPT-3.5 in the ever-evolving world of AI.
Hesitant Beginnings: Worrying about AI and Turning 42
Prompt: An image of a developer working on a computer with ChatGPT open in the background
As a developer, I recently decided to try out ChatGPT, but I must admit, I was initially hesitant. I was worried about resource consumption and the potential impact on climate change. I couldn’t help but think of Douglas Adams, who famously said:
Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works. Anything that’s invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it. Anything invented after you’re thirty-five is against the natural order of things.
Prompt: An image of Douglas Adams with a quote bubble saying “Anything invented after you’re thirty-five is against the natural order of things.”
I turn 42 next month, and I don’t want to be one of those “35 people”! So, I took the plunge and decided to give ChatGPT a shot.
First Impressions: A Promising Start
My initial experience with ChatGPT was pretty impressive. On my first attempt, I asked it to help me translate PL/SQL to Java. I provided an example, and to my surprise, it returned the rest of the translation without any errors. Beginners luck, perhaps?
Prompt: A before and after image of a code snippet with PLSQL on one side and Java on the other
For my second attempt, I threw it a curveball: I needed help with a niche project involving a GNOME extension. The GNOME documentation can be a bit like navigating through a maze, but ChatGPT managed to provide me with a full boilerplate to get started!
On top of that, it even explained the difference between yyyy and uuuu in Java date patterns, which I found quite informative. It’s like asking your friend for advice, except that friend is an AI that doesn’t need to sleep.
Hitting Some Bumps: When Things Go South
However, it wasn’t all sunshine and rainbows. ChatGPT did provide some answers that were just plain wrong:
- It explained how to write an equals method in Java with inheritance and adding state, but it got it all mixed up.
- It tried to help me solve a certain, badly documented issue with my GNOME extension but ended up giving me a dead end.
Prompt: An image of a GNOME desktop with a highlighted extension
When I asked it repeatedly for project name suggestions, it gave me duplicates. And when I asked how to test the equals method in Java, it didn’t mention EqualsVerifier. So, like a bowl of mixed nuts, you have to pick out the good parts and leave the rest behind.
The lesson here? Always double-check whatever ChatGPT provides you.
Silver Linings: Apologies and Rubber Ducks
But there were some silver linings too. For one, ChatGPT apologizes a lot (sometimes, more than a Canadian!). After a particularly frustrating interaction, it even wrote a solid Stack Overflow post for me.
Even when it provided incorrect answers, it was still a useful rubber duck. You know, like explaining your problem to an inanimate object and suddenly realizing the solution yourself!
Prompt: An image of a “rubber duck” toy with the caption “even with incorrect answers, it can still be a useful ‘rubber duck’ to help you think through a problem”
Final Thoughts: A Useful Tool, but Not a Replacement
Overall, I found ChatGPT to be a useful tool, much like Stack Overflow. But, I won’t be making it my full-time job anytime soon. It’s more like an extra set of hands on a project, rather than a one-stop solution.
By the way, this blog post was written with the help of ChatGPT! I had to tweak the outline quite a bit to get satisfactory results, but it’s always nice to have a little AI assistance in my corner. Like a sous-chef in a kitchen, it can’t replace the head chef, but it can make life a little bit easier.
And who knows? Maybe someday, ChatGPT will be the ultimate developer sidekick, serving up not just code snippets but also expert advice, witty jokes, and maybe even a fresh cup of coffee. For now, though, it’s a good companion to have on hand when navigating the ever-changing world of technology.
So, as I embrace my 42nd birthday, I’m grateful for ChatGPT and the chance to stay ahead in the tech game. After all, if a hitchhiker can make it through the galaxy with just a towel, I can certainly tackle my next project with the help of an AI assistant!
Addendum: List of Prompts
- Write a blog post in markdown format from the following outline. Flesh it out a bit. Include an analogy and a few jokes in the text.
- Continue.
- Give me a one-sentence summary that starts with the phrase “In which I”.
- Write a short introductory paragraph that mentions I used the same prompts and outlines in an earlier piece about gpt 3.5 to see if gpt 4 did better.
- Give me a clickbaity tweet to announce this follow-up post.
- Write an addendum containing a list of all the prompts I gave you.
Original outline
The outline is identical to the one in the previous post.
- Tried ChatGPT as a developer
- initially hesitant
- worried about resource consumption and climate change
- Douglas Adams
- mention his quote about technology, the things that are in the world at age 15 and 35, and the natural order of things
- i turn 42 next month but don’t want to be a 35 person
- gave it a shot
- Initially impressed
- First attempt:
- yranslating PLSQL to Java
- gave an example and got the rest, without errors
- Second attempt
- niche project: GNOME extension
- GNOME docs hard to navigate
- gave me full boilerplate
- Also
- was able to explain the difference between yyyy and uuuu in Java date patterns
- explain it
- First attempt:
- Found issues
- some answers to my questions were plain wrong:
- explanation how to write equals method in Java with inheritance and adding state
- solving a certain, badly documented thing in GNOME extension
- when repeatedly asked for names for a project, gave duplicates
- when asked how to test equals in java, didn’t mention EqualsVerifier :(
- always double-check whatever it gives you
- some answers to my questions were plain wrong:
- Silver lining
- it apologizes a lot
- it wrote a good StackOverflow post after frustrating interaction
- even with incorrect answers, is sometimes useful rubber duck
- I like it
- useful tool like stack overflow
- but won’t make it my job
- mention that this post was written by chatgpt
- but had to tweak the outline a lot to produce good results