We spend roughly 10x as much time reading code as we do writing it. A tool or technique that makes you twice as "productive" at writing code *at best* makes you 5% more productive over all. Making your code easier to understand will have 10x the impact. But that doesn't sell tools or put developers out of work, so you won't be reading about it in Forbes.
"But Jason, we can get ChatGPT to explain the code to us". Oh really?
@jasongorman Obviously ChatGPT is a master of stating the bleedin’ obvious.
@thirstybear That's the thing: if it doesn't have the information, it can't generate an explanation. It excels at explaining code that's easy to understand. The real selling point is brownie points for comments. Like at university.
@jasongorman Yes, but I have worked with (senior) developers who commented their code just like that 😁
@thirstybear Readability Theatre

@jasongorman @thirstybear Well, I have worked with "developers" that needed the comments because they somehow were such great developers that they have issues reading simple statements.

But yes, perhaps we should not try to orientate us by the worst cases of commercial software engineering that we've seen. That can cause depression.

@jasongorman @thirstybear
This thought example about the Thai national library (as training data, without books with non-Thai text or images) illustrates it perfectly:

https://medium.com/@emilymenonbender/thought-experiment-in-the-national-library-of-thailand-f2bf761a8a83

Basically no chance that you'll learn Thai, the language, the meaning from the dead books, even the massive corpus will not help.

You might learn how a reasonable Thai text look.

@jasongorman @thirstybear

So if somebody submits some Thai text to you (say a question, but you wouldn't know, obviously, you know how Thai looks, but you have no idea what it means), you might be able to continue it.

But not understand if you just answered, “sure, one big fries coming up with your burger, sir” or “sure I did murder that family, I confess”.

So the idea that a LLM is capable of explaining your code to you, anthropomorphizing at its worst.

No it's not your coding buddy.

@jasongorman classy comments there 😉

@julian It's actually one of the refuctorings in my Waterfall 2006 presentation: "Stating The Bleeding Obvious"

https://www.waterfall2006.com/gorman.html

Waterfall 2006 - International Conference on Sequential Development

@jasongorman clearly far ahead of your time - the amount that has been invested to make a machine be that bad!!
@julian It's a $multi-billion intern
@jasongorman this is a perfect example of how not to write comments. Brilliant. 🤩
ChatGPT explains exactly zilch...as expected.
@mforester TBF, if the information is there, it can explain the code. Basically, it can explain code that's easy to understand.
@jasongorman I'll give it that, but it really depends on what you define as *explaining* the code.
I saw that technically all observations were correct, but none of them are helpful. If I'd ask real intelligence (a.k.a. a person), they'd (hopefully) explain the function in more broad strokes and go deeper and deeper until I understand what I need. 🙂

@jasongorman
Ok, repeat slowly after me:

LLM DO NOT UNDERSTAND ANYTHING.

LLM predict (based on their training data) what's the most likely next token, that would also happen in the training data.
(Yes you can express what ChatGPT does in formal Statistics formula, but then somehow about 98% of humanity runs crying for help when you show them.)

GPT-4: The Emperor Has No Mind

YouTube