2 ms·
Words mean things, especially when communicating in professional or semi-professional settings with terminology with longstanding meaning. To not do so is poor
by ynx 3y ago
Words mean things, especially when communicating in professional or semi-professional settings with terminology with longstanding meaning. To not do so is poor communication, and irresponsible depending on the stakes.
Codegen's long history of macro-fied (or similar kind of scripting) source writing matters here. It has the very important property of having consistent/deterministic output from a process that can be verified with very high confidence by rudimentary human inspection.
It's like calling autocomplete "codegen".
I truly love LLM-assisted coding. I would never call it codegen, and think it can even be unethical to do so when the stakes are high, because it gives it the veneer of trustworthiness that lends one to carelessly not audit it.
LLM-aided code writing should, IMO, be called "code assist", not "codegen".
- pvg 3y agoI think this is more a matter of familiarity and habit - notice how there are several slightly different definitions of exactly what 'codegen' means in this thread alone. It doesn't really have some super-specific meaning, it's not, dunno 'lexical scoping'. It's still just shorthand for 'code generation' and it's not unreasonable to apply it to, well, most automated processes that generate code.
- ynx 3y agoI don't buy a nihilistic "does anything mean anything anymore?" approach. I'm basing my evaluation on Copilot. It functions as a highly context-sensitive and very useful autocomplete, so the "autocomplete" label is a complete, accurate, and precise description for it. It does not fill the same role as writing repeatable macros, batch scripts in part of the build process, token manipulation, or joining a tabular dataset with templates...all components associated with traditional code generation. In the most strict pedantic sense, yes, LLMs create lines code via their internal processes, and that could be called "code generation" at a technical level. But they serve different needs, with different techniques, and different interfaces. In terms of common parlance, no PM or manager who is not pants-on-head dumb is going to suggest replacing scripts that generate code 1:1 with LLM output, unless the terminology itself has confused them into thinking they fill the same role. Poor communicators, whether because they are overly pedantic or undertrained, may make this mistake. But in a team environment, if "codegen" is considered a valid name for LLM output, an effective communicator is always going to need to clarify which they mean, because the tasks are not interchangeable in the least.
- pvg 3y agoMy argument is that it's not a precise technical term of art. There are many of those but this isn't one.The evidence you can easily see in thread and in pretty wide usage on the internet. Your argument is 'this is nihilism' which is mostly vibes and grumpy vibes at that.