5 minute read

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

A picture of a developer sitting behind a screen, generated by DALL-E 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.

A picture of Douglas Adams saying something unintelligble, generated by DALL-E 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?

A picture of something vaguely technical-looking, generated by DALL-E 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:

  1. It explained how to write an equals method in Java with inheritance and adding state, but it got it all mixed up.
  2. It tried to help me solve a certain, badly documented issue with my GNOME extension but ended up giving me a dead end.

A picture of something reminiscent of a Linux desktop, generated by DALL-E 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!

A picture of a creepy rubber duck, generated by DALL-E 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
  • 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
  • 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