4 ms·
This is actually my biggest gripe with vibecoding. The single best feature of any programming language is that it is precise. And that is what we throw out?! I
by gspr 5mo ago
This is actually my biggest gripe with vibecoding. The single best feature of any programming language is that it is precise. And that is what we throw out?! I favor of natural language, of all things?! We're insane!
- timschmidt 5mo agoIt turns out an awful lot of precision (plenty for many things) lives in library and web APIs, documentation, header files and dependency manifests. Language can literally just point at it without repeating it all. Avoidance of mistake through elimination of manual copying in things like actuarial and ballistics tables was what the original computers were built for.
- stingraycharles 5mo agoCustom written code can also point at those APIs and libraries without repeating it all? Or am I missing your point?
- theshrike79 5mo agoAPI Glue is the easy and boring part in programming. Nobody really enjoys wiring API A to API B, combining the results and using API C to push it forwards. Any semi-competent AI Agent can do that with a plan you've written in 5 minutes.
- skydhash 5mo agoI would love to see an AI try to make sense of GTK API. I may be wrong, but it seems when people are talking about easy glue code, they’re talking about web services API, not OS API, not graphics or sound API, not file formats libraries,…
- theshrike79 5mo agoI used Sonnet 3.5 over a year ago to decrypt a notoriously shitty local government API to get data out of meetings, votes and discussions. I know it's a piece of shit API done in the worst possible way on purpose (they don't want openness, but had to fulfill a law that mandates "openness") because I had previously tried to do it manually - twice. I ran out of whisky before I got anything done. Sonnet _3.5_ almost one-shotted it with just the API "documentation" they had and access to Python and curl. People have also hooked stuff into proprietary APIs on "smart" devices with zero documentation, just by having an Agent tirelessly run through thousands of permutations to figure it out.
- pydry 5mo agoEven with web services it usually shits the bed if you ask it to maintain something with tech debt.
- redsocksfan45 5mo ago[dead]
- hgoel 5mo agoThat's because very often the precision is just common sense that can be derived, either from general knowledge, or from your existing code.
- esafak 5mo agoIf you had to give precise instructions to someone so they could get anything done you'd call them a junior.
- robotresearcher 5mo agoHistorically we almost entirely moved from ASM to C, a language with lots of undefined behavior, because precision is not the most valued feature of languages.
- bulbar 5mo agoUB is about edge cases that a compiler should not be enforced to check against and an occurrence is always a bug. You don't necessarily need a precise description of the actual faulty behavior.
- robotresearcher 5mo agoRight. The language has well-formed expressions with no defined meaning in terms of machine instructions. My claim is that this is a reduction in precision compared to assembly language. Grandparent said: > The single best feature of any programming language is that it is precise. C overtook a more precise language family because it has features other than precision that people cared about. Perhaps a better tradeoff of expressiveness and readability with precision. Grandparent could be correct, and precision is the best feature of C, despite being less precise than ASM. And its better expressiveness nets out to a better overall programmer experience. I just wanted to point out that precision is something we do trade away for other things we want.
- gspr 5mo agoCould you please explain why you feel that having UB makes C less precise than asm? To me, the notion of precision isn't in any way related to whether any given statement is sound. It's about the behavior of the language for sound programs.
- robotresearcher 5mo agoThere are syntactically well-formed C programs that are not sound programs because their behavior is undefined. Or, rephrasing: a subset of all parseable C programs contain 'do whatever, I dunno'. I interpret this as a lack of precision. One could take the position that specifying precisely 'do whatever, I dunno' counts as perfectly precise. But then a language that was entirely UB would count as precise, which would be an odd position to hold, since you can't specify any behavior at all with it.