3 ms·
Interesting way to put it because it means in most professional software development contexts, it is also NOT appropriate for coding since other human will work
by utopiah 8d ago
Interesting way to put it because it means in most professional software development contexts, it is also NOT appropriate for coding since other human will work on the same codebase, at least review the submitted code. So... according to this (IMHO pragmatic) heuristics it's only acceptable for coding alone, e.g. weekend project that won't be pushed online. Unless code has no meaning beside the output it produces, which does exist but I would wager is rare.
- hannasanarion 8d agoBut reviewing isn't the same as reading. When you review code, you're not taking it all in end to end like an email or memo or blog, you're looking for important symbols, recognizing structures and patterns, jumping between different files at different levels of reference and abstraction, and building a model in your head of the principles that make it work and their consequences for the overall procedure. Code is "meant to be read" in the same way as a law, blueprint, policy document, or manual is, ie: jumping between relevant sections to get small pieces of information relevant to some task. The act of "reading" never starts at the beginning, it starts with a ctrl-f or flipping through an index or table of contents for a specific relevant symbol that is the only reason you are looking at the document. Code is invention, not art (and should be covered by patent law, not copyright law, I will die on this hill)
- utopiah 8d agoIt is not the same yet it requires reading which in turns requires interpretability, trying to make sense of what was read within a very specific, maybe explicit context, e.g. specifications, and that can be optimized for an audience, or not. For example the code I would write for somebody who just started to learn programming will not be the same as the code who is an expert even though both will pass the specifications. Consequently taking into account who (if anyone) will actually review, and thus read, the code changes the code itself.
- hannasanarion 8d agoWho said interpretability wasn't necessary? Manuals, laws, and dictionaries are not designed to be read, but they are designed to be interpreted. In fact interpretability is what they maximize for. And interpretability isn't an absolute value, it is relative to an audience, this is why household equipment often comes with separate owners, installers, and service manuals, and why Webster publishes Elementary, Collegiate, International, and Mass-Market versions of its Dictionary. Documents that are "meant for human consumption" in the way the top comment intended generally don't optimize for interpretability like code, manuals, and dictionaries do. Novels, letters, emails, internet comments, blogs, articles, nonfiction books, etc often forgo interpretaiblity for practical, expressive, or rhetorical effect. The best moments of these is even when they are confusing on purpose, because imprecise language is a gateway to deeper levels of meaning through fourth-wall breaks, metaphor, analogy, and humor. (all things that LLMs are notoriously bad at and don't seem to be improving on over the years) Those other types of writing are intended to be read in full, every word, end-to-end, in order to educate, entertain, inform, or influence the reader who, and i think this is the critical part, does not drive the experience. When I'm reading a news article, and you realize that you're reading the voice of chatgpt, I'm annoyed because it means that i've been strung along by a stupid machine that somebody else handed me off to to keep me occupied. When I'm reading code, and I notice that it seems AI written for whatever reason, I might then choose to apply more scrutiny, maybe I try to suss out what the prompter intended to happen, so that I can validate whether that actually happened and if it was accomplished in an optimal way. But it's not insulting in the same way, because I'm still in the driver's seat of the experience, deciding on my own which parts to read and which parts to ignore as irrelevant to my investigation, because the only thing I want to get out of it an understanding of a part of the mechanical system that the code creates.
- skydhash 7d ago> The best moments of these is even when they are confusing on purpose, because imprecise language is a gateway to deeper levels of meaning through fourth-wall breaks, metaphor, analogy, and humor. I don't agree. Because those metaphors and other word plays reach deep into the human mind (at least for the purported audience), while most technical writing try to be more explicit. Here is the introduction for Laravel Socialite In addition to typical, form based authentication, Laravel also provides a simple, convenient way to authenticate with OAuth providers using Laravel Socialite. Socialite currently supports authentication via Facebook, X, LinkedIn, Google, GitHub, GitLab, Bitbucket, and Slack. And this is the marketing blug of Shadows of the Gods by John Gwyne A century has passed since the gods fought and drove themselves to extinction. Now only their bones remain, promising great power to those brave enough to seek them out. As whispers of war echo across the land of Vigrid, fate follows in the footsteps of three warriors: a huntress on a dangerous quest, a noblewoman pursuing battle fame, and a thrall seeking vengeance among the mercenaries known as the Bloodsworn. All three will shape the fate of the world as it once more falls under the shadow of the gods. One is direct, with not a lot of imagery, but rather use specific concepts which has precise meaning. The other is just as clear, but use concepts that ties to bigger ones. They are not imprecise, they just let you be aware there's a bigger canvas than the literal interpretation.
- antonvs 8d agoThat comparison isn’t automatically valid, because the criteria for what makes acceptable code are very different than for natural language prose. It’s perfectly possible to consider e.g. working, LLM generated, human approved code acceptable, while considering LLM writing that hasn’t undergone major human editing unacceptable because of its repetitious, formulaic, marketing-oriented style - a criticism that doesn’t even make sense for LLM generated code.