Jump to content
Juan C.Cilleruelo

Programming with AI Assistance: A personal reflection.

Recommended Posts

Programming with AI Assistance

 

Introduction

 

I’ll take a few minutes to explore the current relationship between AI and programming, as of March 4, 2025. AI evolves so rapidly that claims need constant reassessment. A year ago, I argued AIs relied solely on their knowledge base, not internet searches—a point now outdated, as they do both. So, let’s dive into the key question: Can AI fully replace a programmer today or soon?

 

Can AI Replace Programmers?

 

The short answer is no, and here’s why. Claiming AI can replace a programmer assumes it can flawlessly interpret a designer’s or user’s instructions without ambiguity, generate error-free code, and fix mistakes after the fact. It also implies the AI can review and adapt existing code to meet new or corrected requirements as an application evolves.

 

Picture a dialogue with an AI to build a program. It could stretch over days or weeks, requiring constant backtracking to resolve misunderstandings. Each revision would alter the program, spawning fresh errors—something programmers know all too well. Iterations might edge us closer to the goal, but sifting through endless chat logs to spot where communication faltered would be exhausting.

 

Now, suppose we had a tool tailored for this AI interaction, resembling an IDE (Integrated Development Environment). It could let us search and document requirements, track how new ones affect old ones, and perhaps include a UML generator. Sounds helpful, right? Maybe not—it’d likely just pile another layer of complexity onto development, one still reliant on skilled programmers or analysts to feed it.

 

Even if we fed this knowledge into an AI, it’d need deep familiarity with IDEs or command-line tools to produce the final program. More critically, someone must verify the output meets requirements and works—not just compiles cleanly. Maintenance adds further hurdles: when users report issues in production, do we tweak the original requirements and regenerate the code, or prompt the AI to patch its own prior work? It’s a tangled mess, don’t you agree?

 

Those videos touting “code an app with AI, no skills needed” are like ads promising “speak English like a native.” It’s a hollow pitch—you won’t master it without the foundation, though exposure might sharpen your skills.

 

AI as a Programmer’s Ally

 

So, are those videos about coding with AI useful? No. Their makers aim to entertain you (and rake in ad revenue) while flexing their cleverness—not to teach you AI mastery. Their business would dry up if they did. But here’s a better question: Can AI boost a programmer’s performance? Absolutely, without a doubt.

 

Practical AI Techniques

 

AI won’t replace us—it empowers us. Here’s how I use it daily:

 
  1. Setup: I keep profiles on key AIs—Grok, GPT, DeepSeek, Mistral—ready in browser tabs that auto-open. Even if I rarely touch the last two, they’re there when needed.
  2. Function Generation: For standalone functions with clear inputs and outputs, I ask the AI to draft them. Early results may not compile, but they give me a head start. With practice, I’ve honed prompts to get working, compilable code on the first go.
  3. Bug Hunting: When my code has a sneaky bug, I pass it to the AI with a description of the unwanted behavior. It often pinpoints the fix.
  4. HTML Cleanup: Hand-edited HTML can turn into a cryptic mess. When it’s unreadable, I hand it to the AI to refine and flag errors—a real time-saver.
  5. Instant Help: The F1 key once gave contextual IDE help; now I ask the AI for explanations on terms, classes, or functions. It delivers detailed answers and examples, often tailored to my project if we’ve been chatting.
  6. Documentation: Most coders dread documenting modules, yet it’s vital for maintenance—the costliest phase of software life. I task the AI with it, specifying depth and skipping obvious lines or pseudocode comments.
  7. Performance Tweaks: Facing a bottleneck? The AI can estimate runtimes from source code alone and suggest optimizations—no execution needed.
  8. Unit Tests: Tedious, repetitive unit tests are perfect for AI. Give it a controller interface, and it churns out tests fast, ensuring reliability even after changes or integrations.
  9. REST Integration: Beyond chat, I’ve built REST interfaces in my programs to query the AI directly with precise prompts, embedding its responses into the app. For example, I use a Stub program to generate varied test data (e.g., JSON arrays of names, split by nationality or location) instead of relying on monotonous random lists. It’s efficient and spares me manual coding.

     

Mastering these techniques—especially REST-driven data generation—lets you apply AI creatively in client projects. The possibilities far exceed this article’s scope, but paired with the next approach, they’ll transform you into a sharper developer.

 

Beyond the Technical: Prospective Thinking

 

AI shines beyond pure coding tasks in what I call "prospective interactions." Before starting a project, I weigh my options—techniques, code structure—and consult the AI. I list my alternatives, and it reasons through the best path, explaining why. I don’t always follow it, but it clarifies my choices. Better yet, I’ll ask it for fresh angles I hadn’t considered. That’s when coding becomes exhilarating—you shift from a technical grinder to a creative problem-solver. That’s the real power of AI as a programming partner.

  • Like 2

Share this post


Link to post
23 minutes ago, Juan C.Cilleruelo said:

Performance Tweaks: Facing a bottleneck? The AI can estimate runtimes from source code alone and suggest optimizations—no execution needed

Which AI does this, let alone reliably? I am not talking about it suggesting improvements based on its data indicating the speed differences between two similar functions, I am talking about how you phrased it above.

Share this post


Link to post
53 minutes ago, Juan C.Cilleruelo said:

Unit Tests: Tedious, repetitive unit tests are perfect for AI. Give it a controller interface, and it churns out tests fast, ensuring reliability even after changes or integrations.

Unit Tests are an aspect of software developement that can lead to just another place of disparite disconnects between source code and intention and/or design and I surely don't want to give a current fad full of mistakes the ownership of that

Edited by PeaShooter_OMO

Share this post


Link to post

Thanks for the quick glance at the subject. I feel it to be important to know which AIs you have tried out though. Especially for the more specific tasks like bug hunting or performance tweaks. A comparison would have been cool, for any of those tasks which AIs shine and which don't.

  • Like 1

Share this post


Link to post

All this is grand but at the end I still have to tell the "AI" what to do, then keep correcting it by repeating what I said but with additions and changes and then again go over everything it gave me just to make sure it did it right. That is time I could have spent doing a proper documented design and then coding everything myself.

 

I started coding because I love coding. As such I don't dread spending time to type out code to get stuff done and so I don't need a Artificial Non-Intelligence to do my coding for me.

 

Asking A"N"I for information is like walking a mine field. Numerous times while testing A"N"I it gave me totally incorrect answers based on poor data from the internet or even non-existing functions. There is nothing the A"N"I can tell me that I cannot already learn from people like @PeterBelow, @David Heffernan, @Jim McKeeth, @Darian Miller, @Uwe Raabe, @Anders Melander, @Remy Lebeau, @Dalija Prasnikar, (missed a bunch, I am sure). Most of them have already laid down a rich treasure of knowledge and Delphi wisdom on the internet. Willingness to search and read on my part is required though.

Edited by PeaShooter_OMO
  • Like 2
  • Thanks 1

Share this post


Link to post

The constant attempts of people pushing the AI narrative is exhausting and it is getting old. How many more irrelevant places in life do we have to inject AI into? It seems similar to the IoT fad. Why do I need to have my fridge tell me what it has in it? I can lift my lazy butt, open the fridge door and check. Maybe then I will get the strong wiff of something going bad in there and replace it. 😄


OK. Done ranting.

 

Edited by PeaShooter_OMO
  • Like 2

Share this post


Link to post

The AI that is giving me the most satisfying responses is, without a doubt, Grok. GPT is excellent, too. I use it through the REST service. It is the most simple to implement.  

 

Of course, what I expressed in the post is my personal experience filtered through my capacity to prompt the AI. 

That is an essential part of the method. If you ask your AI like you ask Google, you are definitively losing your time.

I read some books and other documents about AI prompting.


If you are looking for a magic collaboration with AI, you only need to wait one year or maybe two. But then you will be out of date.   

 

The time to integrate AI within your toolbox is now. Really yesterday, but you can run. 

Everyone has excuses. But what you need at this moment are reasons. 

Don't waste your time explaining why not. Do it!  

Edited by Juan C.Cilleruelo
  • Like 1

Share this post


Link to post
3 hours ago, PeaShooter_OMO said:

The constant attempts of people pushing the AI narrative is exhausting and it is getting old. 

Agreed. My boss can't stop raving about it. AI this. AI that. Everyone needs to use AI. The last few weekly 1x1s I've had, lets check your AI usage this week. It's getting rediculous.

Share this post


Link to post

AI is just a tool. It has its uses. It's not going to do everything. Yes it's over hyped. But that does not mean it has no value. As usual the value lies somewhere in between what the hypers and the doubters say. 

  • Like 3

Share this post


Link to post
4 hours ago, PeaShooter_OMO said:

The constant attempts of people pushing the AI narrative is exhausting and it is getting old.

Yes, but not because its irrelevant.
But that's because even the last snoozer has realised that by now.

Share this post


Link to post
1 hour ago, Remy Lebeau said:

The last few weekly 1x1s I've had, lets check your AI usage this week

My sympathy.

Does he even know who you are and what you do?

Share this post


Link to post
46 minutes ago, David Heffernan said:

But that does not mean it has no value

 

43 minutes ago, Rollo62 said:

Yes, but not because its irrelevant

 

Agreed, it does have value. Not so much in Delphi for me but when I need a good chuckle I ask it to tell me a story of about 1000 words in some sort of modern setting. It was instructed by its lords that it needs to bring forth good feelings so the story usually runs along the lines of an innocent intro, a unexpected but nice chance happening and then a heartfelt happy ending. I then instruct it take the exact same story and reverse/opposite everything in it, so what was positive ends up negative or the totally opposite. Makes a funny story.

 

 

Edited by PeaShooter_OMO

Share this post


Link to post
1 hour ago, PeaShooter_OMO said:

Does he even know who you are and what you do?

At work, certainly. But if you mean my involvement in the Embarcadero community, then no.  I keep those two worlds separate.

Share this post


Link to post
1 hour ago, Remy Lebeau said:

I keep those two worlds separate

It sure would be funny if your boss was to ever post a Delphi question on some forum and you replied with the answer. Considering his stance on AI it would probably be "Why does this AI code not work like I asked it to".

Edited by PeaShooter_OMO

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×