I've only read the introduction, but it's uncanny how everything they described is kinda in the feature bullet list of various static code analysis software that's been around for decades now, i.e. sonar
Don't get me wrong, I'm sure a great LLM integration has the potential to improve a debugger in your ide.
The chat interface in which a developer writes prompts would be absolutely garbage though, of that I'm certain
But if it's able to trace everything until the error occured and then output an analysis for that error, that'd be great. Not sure how realistic that'd be though. Definitely seems way beyond the current capabilities, but let's see how the ecosystem will look in 10 years.
One of the reasons I am not yet worried about LLMs is that this is not actually possible, at sufficient levels of domain complexity, and contextual complexity. The domain complexity that LLMs start failing is pretty low at the moment.
As well, as domain complexity increases so does the required amount of precision, and again I find LLMs start getting less precise when put in the deep end. You don't tend to find this kind of software in your "programmers programming". You tend to find this kind of software in industry, where large businesses consist of wild business rules built up over decades, and that has been half-codified into software. I just don't see LLMs swooping in to take that over.
This is a fair question, though it's probably still mostly the same as pre-LLM: spoiled data, heinous cackling laughter, various darkweb fungi, and occasional raw flesh.
I’m sorry, but if LLMs are going to change the way we code, and the way we code is not even print debugging for junior developers. I know very few senior developers that use a debugger at all. I don’t understand why my question is trolling.
Are you out of your mind? LLMs will require much more debugging, not less.
Separately, I have no idea which “senior developers” you know, but with or without LLMs, debugging is an immensely important part of development across the industry.
Senior here, I started to use LLMs recently but I still use a debugger. Working with complex code it helps me find the difference between what I think should be happening and what really happens. I don't think a LLM could do better for this task.
Also, I use debuggers for print debugging: insert a breakpoint which doesn't suspend execution but prints something (perhaps conditionnaly.) That way no need to recompile the whole thing and restart it after adding a print statement.
I don't think LLMs have anything to do with it. I've rarely seen devs reach for a debugger until they really really need to. In web dev it can be pretty hard, you need a reproducible bug or production server access. I can probably count on one hand the number of times a bug occurred that stumped me to that point.
If anything, I can see LLMs making debuggers more used because they'll help you with getting setup and interpreting what is going on.
I am not trying to sell anyone on debugging, but honestly if you have a good debugger and it's easy to drop into, you'll find it way easier and faster than print debugging. I don't know why people put themselves through the pain of writing print all over the place when you can just, pause the program and see literally everything, all the way up the stack.
There are different levels of debugger. I use language ones all the time. But this article is talking process debugging. If you dev native compiled apps then that's probably second nature. But if you do dev on a scripted or runtime language then it is, as I said in my previous comment, rarely applicable but occasionally very helpful.
> the way we code is not even print debugging for junior developers.
what
> I know very few senior developers that use a debugger at all
I know very few, too, and it's their loss. Debugging is immeasurably more useful to understand and get to the root of the problem in a complex system than printf'ing and logging.
> What is the best diet for those easily triggered?
The best diet for you is to unplug from the hype trains on Twitter and HN.
> Debugging is immeasurably more useful to understand and get to the root of the problem in a complex system
I try to write systems that aren't so complex that I need a debugger but get the same job done. And I choose not to work on systems already so complex that their usage is mandatory. I do not consider this a loss at all. Systems that I write can almost uniformly rebuild and rerun their tests in under a second. I can add (pretty) prints and see the results faster than I can switch to a different tab to run a debugger. I have never introduced or encountered a bug that required advanced debugging techniques besides getting a stacktrace from a crashing problem. YMMV.
Don't get me wrong, I'm sure a great LLM integration has the potential to improve a debugger in your ide.
The chat interface in which a developer writes prompts would be absolutely garbage though, of that I'm certain
But if it's able to trace everything until the error occured and then output an analysis for that error, that'd be great. Not sure how realistic that'd be though. Definitely seems way beyond the current capabilities, but let's see how the ecosystem will look in 10 years.
As well, as domain complexity increases so does the required amount of precision, and again I find LLMs start getting less precise when put in the deep end. You don't tend to find this kind of software in your "programmers programming". You tend to find this kind of software in industry, where large businesses consist of wild business rules built up over decades, and that has been half-codified into software. I just don't see LLMs swooping in to take that over.
What is the best diet for those easily triggered?
Separately, I have no idea which “senior developers” you know, but with or without LLMs, debugging is an immensely important part of development across the industry.
Also, I use debuggers for print debugging: insert a breakpoint which doesn't suspend execution but prints something (perhaps conditionnaly.) That way no need to recompile the whole thing and restart it after adding a print statement.
If anything, I can see LLMs making debuggers more used because they'll help you with getting setup and interpreting what is going on.
https://youtu.be/tzr7hRXcwkw?si=LX7LhGYUHmPAWVNJ
They are not
> the way we code is not even print debugging for junior developers.
what
> I know very few senior developers that use a debugger at all
I know very few, too, and it's their loss. Debugging is immeasurably more useful to understand and get to the root of the problem in a complex system than printf'ing and logging.
> What is the best diet for those easily triggered?
The best diet for you is to unplug from the hype trains on Twitter and HN.
I try to write systems that aren't so complex that I need a debugger but get the same job done. And I choose not to work on systems already so complex that their usage is mandatory. I do not consider this a loss at all. Systems that I write can almost uniformly rebuild and rerun their tests in under a second. I can add (pretty) prints and see the results faster than I can switch to a different tab to run a debugger. I have never introduced or encountered a bug that required advanced debugging techniques besides getting a stacktrace from a crashing problem. YMMV.