3 ms·
I'm not so sure about either of these, but especially #2. Engineers need to control the behavior of their software very precisely. The fantasy of firing all yo
by 0xcafefood 3y ago
I'm not so sure about either of these, but especially #2.
Engineers need to control the behavior of their software very precisely. The fantasy of firing all your engineers and just letting product folks write something extremely high-level like "Write me an app for reviewing movies" and letting a language model fill in all the details seems like a nonstarter.
First, the details it imagines likely won't be what you actually want. So they'll have to start getting more and more precise. So precise in fact that it's back to "programming" instead of something like actual natural language.
Second, this seems unlikely to provide stability over time. Trying to evolve your FE, BE and storage to remain compatible between one prompt and the next or one language model and the next likely will involve specifying those details fully as well.
Natural language just isn't precise enough for this. There is way too much inference involved. This situation is fundamentally different from abstractions that allow one group of engineers to encapsulate implementation details within a system.
- uticus 3y ago> the fantasy...seems like a nonstarter i see what you mean. but I wonder if this is because we have difficulty imagining a totally possible thing. i mean, surely at one point it must have seemed like less machine code engineers, and more script monkeys writing something extremely high level, was a nonstarter. or perhaps firing system software engineers and just letting FE devs write something extremely high level must have seemed like a nonstarter at one point. but here we are. > natural language just isn't precise enough for this i often make the mistake of thinking business needs something more precise than what it is actually asking for (or what it truly needs). of course precise dollars and cents truly matter in some situations, but in other situations a crud app or report has a great deal of flexibility in its requirements. not willing to die on this hill, but i wonder if precise software and precise computer modelling is because the tools require it to be precise? and if so, a less precise interface tool may well lead to less precise inputs that still meet the underlying business requirements.
- GMoromisato 3y agoToday, a customer tells a programmer what to build using natural language. The customer doesn't write a precise spec; instead, they iterate with the programmer: "no, add a button here.", "yes, but make sure you can decline an order.". Imagine you're a non-technical person and you communicate with a programmer only via email. You could still get your product built. Is it really hard to imagine than an LLM could (someday) be on the other side of the email? As for stability, I think that's something that LLMs have an advantage in. Imagine the user and the LLM create a set of regression tests. The LLM can patiently run the tests on every change. The goal isn't perfection (LLM reads my mind and instantly creates a program). The goal is better/faster/cheaper than dealing with a human programmer. Believe me, I know LLMs today are not there yet. The question is how long will they take to get there? My guess is 10-20 years, and I'm probably a pessimist.