4 ms·
Software is a mean to an end. So programming is a mean to a mean to an end. LLMs are also means to an end. Why would we want to use LLMs as a mean to a mean to
by pilgrim0 2y ago
Software is a mean to an end. So programming is a mean to a mean to an end. LLMs are also means to an end. Why would we want to use LLMs as a mean to a mean to a mean to an end, when it can be transparently specialized to get users directly to the end? I think end-user programming has to be a fallacy, because I see no one other than programmers wanting it. It’s not to say it’s an invalid idea, it’s more likely misdirected. I understand the feeling that programmers wish more people could yield the generalized control over their computer devices, as programmers have over their own. But do end users actually need that? Should this be a priority, when time is limited and people can spend it doing more fulfilling things than fiddling with machines? Don’t they have numerous other things to optimize for in their actual, physical lives? Why would we wish they carry the burden of such frigid discipline when others can do it for them? As far as I can tell, prompting itself already is end user programming, what’s lacking are the bridges between the models and diverse effectful APIs. As absurd as it sounds, at whatever level, programming is merely data parameterization over a set of interfaces. It’s also what prompting is, except the underlying interface is overly general. So it seems like a viable future should involve standardization efforts so LLMs can invoke APIs on their own, and we provide it with compatible interfaces it can use to service users. In this scenario, the applications behind the endpoints will not merely be stateless request/response interfaces, as they need also to instruct, model and contextualize remote data capture interfaces within the client – generative interfaces. Software can hardly be more malleable than that: contextually generating whatever UI it’s needed to achieve a task that was prompted in natural language. Once there’s enough composable black-box services accessible via LLMs, there is no need for end users to program anything, they will directly demand the effects. Sure, there can be service-generating services, but I fail to see how users could parameterize such calls while lacking domain knowledge, and while there’ll be a direct path to the exact or approximate effect they need in the first place. As for special cases, they will always require special solutions and specialized knowledge, no matter the domain.
- kevindamm 2y agoFiddling with machines results in processes that can save you a lot of time and headaches, so I do think it's worth the time to learn it. Even if/when LLMs improve enough to bring their code quality up to par, humans should still be comfortable reading that code to ensure it aligns with the goal.