3 ms·
I think there is inherent value in expressing your own thought, from the start, in a formal language. This is why mathematics has stayed with us in spite of th
by voidhorse 2y ago
I think there is inherent value in expressing your own thought, from the start, in a formal language.
This is why mathematics has stayed with us in spite of the fact that it's eminently possible to express mathematical ideas in natural language. The precision, clarity, and brevity we gain from formalization is useful.
I think code falls into a similar bucket. Reaching for LLMs makes some amount of sense for throwaway code, but not for serious systems. Code is not merely the raw material with which you happen to realize fuzzy ideas, it is also a means of making once fuzzy ideas precise—and for this benefit to be realized, the communicating human has to participate in the formalization. I don't want to have to deal with a world in which all our systems were authored through fuzzy imprecise language and half-baked, not completely formally analyzed ideas. That's a step backwards. Life isn't only about cost cutting and short term "efficiency".
- HappMacDonald 2y agoAs someone else in comments mentioned though, one alternative strat is to describe your problem to the LLM using pseudocode or napkin code that you at least don't have to link every last inch of to get it to function. And then of course the LLM's reply is going to revolve around an iteration upon the code that you wrote (often with most of that linting done for you for free).
- tasuki 2y agoWould you be ok to specify the desired input/output types and have a LLM write the implementation? I don't want LLMs naming my functions. I don't want them telling me what functions need to be written. But I sure want it writing them for me! This works nicely in languages with strong types such as Haskell. Sometimes I'm unsure about the high level architecture, the trade offs of the various possibilities. I find LLMs do a good job summarising them.