feat(post): add 'When to Use AI While Programming' post

This commit is contained in:
Mariano Riefolo 2024-09-24 15:10:40 +02:00
parent a1fa4db8b0
commit 1ef005a6e4

View File

@ -0,0 +1,53 @@
+++
title = 'When to Use AI While Programming (And When Not To)'
date = 2024-09-24T14:50:04+02:00
draft = false
tags = ['AI', 'Programming', 'Software Development', 'Best Practices', 'Coding', 'Artificial Intelligence', 'Development']
+++
## Preface
As I was working on a project in Golang, a language I've been learning for a few
weeks, I realized the importance of balancing AI assistance with hands-on learning.
I had been relying too heavily on Copilot, and it ultimately led to frustration
and burnout. This experience made me think about the situations in which AI should
be used—and avoided—while programming.
## When You Want to Learn Something New
It's common sense, but worth repeating: if you want to learn a new skill or technology,
don't rely on AI for repetitive tasks. Doing so can hinder your progress and prevent
you from becoming proficient. Can you truly say you're fluent in a programming language
if you've completed a large project without knowing how to perform basic tasks like
reading a file?
## When You're Uncertain About the Basics
Many of us, including myself, turn to AI when we're unsure about a particular
concept or technology. However, this approach can be counterproductive. To work
efficiently, we need to have a solid grasp of the underlying concepts. Instead of
relying on AI, it's better to take the time to read the documentation and understand
the fundamentals.
## Working with New Technologies and Libraries
Most AI models are trained on relatively old data, which can lead to outdated suggestions.
This is particularly problematic when working with new technologies or libraries
that are constantly evolving. AI may suggest code that's no longer recommended or
has been deprecated.
## Writing Sensible Programs
When working with sensible code, it's generally not a good idea to let AI write
code for you. For example, if you need to implement cryptography, you should do
it yourself after learning how it works and the best practices to follow. Neglecting
this can lead to insecure systems.
## A Balanced Approach
I'm not advocating for a complete ban on AI usage. In fact, I use it daily, and
it's been a game-changer for repetitive tasks where I'm confident in my ability
to spot logical errors. However, if you find yourself in one of the situations mentioned
above, take a step back and invest time in learning the documentation or
seeking out alternative resources. Failing to do so can lead to a lack of motivation
and a plethora of hidden bugs in your code.