@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:
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.
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.
@julian It's actually one of the refuctorings in my Waterfall 2006 presentation: "Stating The Bleeding Obvious"
@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.)
@jasongorman @flq I do not think we have to. We have a pretty good research into this the past like... 4 or 5 decades? In the ML community in particular but not only.
Ofc the problem is that bringing that to mass use needs a lot more "UX" work that we definitely do not fund.
But stuff like Rust definitely makes the C stuff more readable. Swift also made things more readable compared to ObjC
@flq @jasongorman There are attempts. Rubocop thinks it does that, for instance.
I haven't found them to be very useful, but my opinion is far from universal.
What concerns me is that by producing 10x as much code, the 5% savings will be completely overwhelmed by increasing your *maintenance* workload by 900%.
do you have a citation to the 10x reading code thingie? that would be cool to share with colleagues
I keep having to explain to people that building powerful developer tooling (from programming languages to ide plugins) is mainly hampered by the broken economics of the field. So I wrote down a summary of these economics from my pov, hoping it helps inform the discussion and spurn some actions. Let me know how wrong I am ;) This is not exactly about #opensource, but it is adjacent to it. https://www.softwaremaxims.com/blog/economics-developer-tools
@jasongorman "We spend roughly 10x as much time reading code as we do writing it."
Interesting! Is that based on empirical data? I had not looked at it this way.
@jasongorman Maintainability was item 1C in the Steelman language requirements¹, out of which the Ada language came: “The language should promote ease of program maintenance. It should emphasize program readability. The language should encourage user documentation of programs.”
This is an excerpt from the first Ada Language Reference Manual.