What I learned by using Claude AI

Introduction

After playing a bit with the free version, I went all in and got a subscription. Here are my findings when it comes to Delphi development so far.

Context

I am working Claude AI on a project I am doing, which is an integration for various ECommerce platforms. This is an R&D investment, so there is no client just yet and I'm using Claude AI essentially as a mid-level junior developer doing the boring work for me, along with some other related projects. The reason I'm qualifying Claude AI as a mid-level junior is that the code certainly isn't senior level, often requiring several prompts to get right, but it's not really mid-level either. BUT notably isn't some junior convolution either. And this matters.

What's good

The inherently best part of this AI is that it outlines the programing practice purposes of the code it generates according to the prompt, which is incredibly useful for two reasons:

  • You can ensure you're doing what you're meaning to do
  • You can make sure the AI is understanding what you're meaning to do.

Both of these are incredibly important things and an absolute must for any coding AI, in my opinion.

While the above is the absolutely most important thing to me, immediately next is what I'd call a partial prompt, ie. a prompt where you use words like "yaddayaddayadda" to refer to something you've referenced earlier in the prompt. This is almost-level-important with the previous one, but to me that has a slight edge. This is still very, very, very useful and very close to the top of the useful things Claude AI can do. Stressing just how good this is in words will probably escape me for quite some time, but I may ask Claude AI for help ;-) lol

Next in importance is the analysis quality of the source code you provide it. The sheer thoroughness and I dare say thoughtfulness of the analysis is something that still catches me on the backfoot occasionally, and now I've been using it for a few days, so I will generally expect a certain performance. The part I like the most around the analysis is what improvements you can make and that it catches most, if not all, inconsistencies.

Finally, and this is also at the very near top of my likings, there's what I would call "mental health practical support". Imagine you write something such as "Sorry, I've been an idiot and should've known that this platform uses XML instead of JSON" depending on the context you may get in reply something like "Oh, you're not an idiot, most integrations use JSON, I didn't realise that either, so it was natural to assume it'd use JSON". Again, this seems small fry, but imagine someone working through the night to deliver and getting frustrated, this sort of thing may very well help break through a rut forming and refocus the person on the task at hand.

Let's be clear here: if this were a person I was interviewing for a job, this person would absolutely be near the top of my shortlist of candidates.

Next on my list of what's good cometh the ability to understand split output: what I mean by this is that if I say "I need the output split into the following sections..." Claude AI will indeed split the output in separate output windows according to what I want. Now this may not sound like much but keep in mind that everything else above still applies in split outputs, which means you get actually useful outputs out of this thing often with just one prompt and if you have multiple source files it will keep the output structure without you needing to repeat yourself. The time I save by doing things this way can't really be easily quantified monetarily but it's probably many, many, many hours if not days.

Finally, amongst the things I find really useful, there's a subtle one that may not immediately be obvious and may sound inconsequential until you think about it for a while and realise what it actually means: while it doesn't generate GUIDs (bad) it does generate the GUID scheme for interfaces (good) and lets Delphi stop on the GUID so that you can Ctrl+Shift+G and proceed. Again, this may sound like a very minor thing but think about it: how many "minor" things do you have in any given project where there's ambiguity and you need an easy resolution even if not-right-now? IMHO its call is correct (provide the space, not the GUID) and I expect there will be very many similar small things it gets right.

What's not so good or outright bad

There are, of course, things I don't like either. For example, I won't let it generate the DPR because, for some reason, it won't generate either the RES file or the RC one. Because of this, I think VFI (=Visual Form Inheritance) is probably out of the question as well although it can generate DFMs. Again, small things here but with wide-ranging potential implications.

The other thing I really don't like is that it doesn't accrue all the knowledge but every time you start a chat it will go from a blank slate. This means you will have to make sure all the files you want taken into account are uploaded and you can upload 5 files max per prompt, which again is a silly limitation but I'm assuming is done for efficiency.

Because of the above, every time you start a chat you need to be very careful as to what files you're uploading and as a companion issue Claude AI will outright refuse to proceed with a chat if it gets too long and you have to start from a blank slate with every new chat. I don't see this as a massive problem, for I can still do everything I need to do but it is indeed annoying.

Conclusions

In my view, even with the things I really don't like, I think Claude AI is spectacular, as long as you're a reasonable senior developer who understands how to work with juniors.

Cheers!

要查看或添加评论,请登录

Andrea Raimondi的更多文章

  • Memory safety does not exist and we shouldn't pretend it does

    Memory safety does not exist and we shouldn't pretend it does

    Preface There is a rather interesting, and misleading, discussion going on about memory safety in programming languages…

    3 条评论
  • Interpreted vs Compiled distinction

    Interpreted vs Compiled distinction

    I was made aware of an article on interpreted vs compiled languages And I think the distinction still matters! And, no,…

  • LinkedIn users and poor profiles

    LinkedIn users and poor profiles

    Introduction I took an example from a real profile and decided to discuss it because it shows immediately all that is…

    11 条评论
  • Strategia Digitale per le PMI - Una introduzione

    Strategia Digitale per le PMI - Una introduzione

    Introduzione Una domanda che vedo spesso in giro (su Quora, ad esempio, ma non solo: anche gruppi su FB per esempio) e'…

    2 条评论
  • A tale of 1500+ views

    A tale of 1500+ views

    What is this about? About 2 weeks ago, maybe slightly more, I made a social experiment. I had an hypothesis that I…

  • Resume photo: yes or no? My take

    Resume photo: yes or no? My take

    Introduction If you haven't, then you should definitely read this article on whether to have a photo on your resume. I…

  • Cross Platform code with VCL and FMX

    Cross Platform code with VCL and FMX

    The problems with trying to recycle the code Before we lay out a solution, we need to figure out what the problems are…

    4 条评论
  • 5 comments don'ts - My take

    5 comments don'ts - My take

    What is this about? I have found an article online that you can find here talking about what not to put into comments…

  • Here we go again: TIOBE and Delphi

    Here we go again: TIOBE and Delphi

    TIOBE has had another dig at Delphi Every so often, the TIOBE Index likes to have a raid on Delphi and, as usual, there…

  • Response to "RTL Generic vs Traditional Collections" by Marco Cantu'

    Response to "RTL Generic vs Traditional Collections" by Marco Cantu'

    Introduction I know what many of you are thinking: "Seriously, dude!? An online debate on this!?" Yes. I very rarely…

    1 条评论

社区洞察

其他会员也浏览了