6 ms·
It's not a programming language if you can't read someone else's code, figure out what it does, figure out what they meant, and debug the difference between tho
by dsr_ 8mo ago
It's not a programming language if you can't read someone else's code, figure out what it does, figure out what they meant, and debug the difference between those things.
"I prompted it like this"
"I gave it the same prompt, and it came out different"
It's not programming. It might be having a pseudo-conversation with a complex system, but it's not programming.
- echelon 8mo ago[flagged]
- happytoexplain 8mo agoI'm not sure I will ever understand the presentation of "inevitable === un-criticizable" as some kind of patent truth. It's so obviously fallacious that I'm not sure what could even drive a human to write it, and yet there it is, over and over and over. Lots of horrifying things are inevitable because they represent "progress" (where "progress" means "good for the market", even if it's bad for the idea of civilization), and we, as a society, come to adapt to them, not because they are good, but because they are.
- furyofantares 8mo agoI think I 100% agree with you, and yet the other day I found myself telling someone "Did you know OpenClaw was written Codex and not Claude Code?", and I really think I meant it in the same sense I'd mean a programming language or framework, and I only noticed what I'd said a few minutes later.
- Closi 8mo ago> It's not a programming language if you can't read someone else's code, figure out what it does, figure out what they meant, and debug the difference between those things. Well I think the article would say that you can diff the documentation, and it's the documentation that is feeding the AI in this new paradigm (which isn't direct prompting). If the definition of programming is "a process to create sets of instructions that tell a computer how to perform specific tasks" there is nothing in there that requires it to be deterministic at the definition level.
- skydhash 8mo ago> If the definition of programming is "a process to create sets of instructions that tell a computer how to perform specific tasks" there is nothing in there that requires it to be deterministic at the definition level. The whole goal of getting a computer to do a task is that it’s capable to do it many times and reliably. Especially in business, infrastructure, and manufacturing,… Once you turn specifications and requirements in code, it’s formalized and the behavior is fixed. That’s only when it’s possible to evaluate it. Not with the specifications, but with another set of code that is known to be good (or easier to verify) The specification is just a description of an idea. It is a map. But the code is the territory. And I’ve never seen anyone farm or mine from a map.
- beefsack 8mo agoPrompting isn't programming. Prompting is managing.
- aryonoco 8mo agoInteresting how the definition “real programming” keeps changing. I’m pretty sure when the assembler first came, bare metal machine code programmers said “this isn’t programming”. And I can imagine their horror when the compiler came along.
- chasd00 8mo agoI think about those conversations a lot. I’m in the high power rocketry hobby and wrote my own flight controller using micropython and parts from Adafruit. Worked just fine and did everything I wanted it to do yet the others in the hobby just couldn’t stand that it wasn’t in C. They were genuinely impressed then I said micropython and all of a sudden it was trash. People just have these weird obsessions that blind them to anything different.
- echelon 8mo agoIs it? If I know the system I'm designing and I'm steering, isn't it the same? We're not punching cards anymore, yet we're still telling the machines what to do. Regardless, the only thing that matters is to create value.
- problynought 8mo agoAll programming achieves the same outcome; requests the OS/machine set aside some memory to hold salient values and mutate those values in-line with mathematical recipe. Functions like: updatesUsername(string) returns result ...can be turned into generic functional euphemism takeStringRtnBool(string) returns bool ...same thing. context can be established by the data passed in, external system interactions (updates user values, inventory of widgets) as workers SWEs are just obfuscating how repetitive their effort is to people who don't know better the era of pure data driven systems is arrived. in-line with the push to dump OOP we're dumping irrelevant context in the code altogether: https://en.wikipedia.org/wiki/Data-driven_programming https://en.wikipedia.org/wiki/Data-driven_programming
- deleted 8mo ago[deleted]
- hackyhacky 8mo ago> "I gave it the same prompt, and it came out different" I wrote a program in C and and gave it to gcc. Then I gave the same program to clang and I got a different result. I guess C code isn't programming.
- cocoto 8mo agoIf there is no error on the compiler implementation and no undefined behavior the resulting program is equivalent and the few differences are mostly just implementation defined stuff which are left to the compiler to decide (but often gcc and clang do the same). The performance might differ also. It’s clearly not comparable to the many differences you can get from LLM’s output.
- hackyhacky 8mo agoIt just depends what level of abstraction you're willing to pretend doesn't matter. gcc and clang produce different assembly code, but it "does the same thing," for certain definitions of "same" and "thing." Claude and Gemini produce different Rust code, but it "does the same thing," for certain definitions of "same" and "thing." The issue is that the ultimate beneficiary of AI is the business owner. He's not a programmer, and he has a much looser definition of "same."
- ebb_earl_co 8mo agoNo, the ultimate beneficiary of LLM-created code is the toll collectors who stole as much intellectual property as they could (and continue to do so), fleecing everyone else that they are Promethean for having done so and for continuing to do so.
- danelski 8mo agoIt has to stop somewhere. Business owner can also hire a different company to create the product and get a result different by as little as 5% performance difference or something with clearly inferior maintainability and UX. You'd hardly argue that it's 'the same' when they followed the same spec, which will never be fully precise at the business level. I agree that talking to an LLM is akin to using the business oriented logic at the module or even function level.
- orbital-decay 8mo ago>"I prompted it like this" >"I gave it the same prompt, and it came out different" 1:1 reproducibility is much easier in LLMs than in software building pipelines. It's just not guaranteed by major providers because it makes batching less efficient.
- isodev 8mo ago> 1:1 reproducibility is much easier in LLMs than in software building pipelines What’s a ‘software building pipeline’ in your view here? I can’t think of parts of the usual SDLC that are less reproducible than LLMs, could you elaborate?
- orbital-decay 8mo agoReproducibility across all existing build systems took a decade of work involving everything from compilers to sandboxing, and a hard reproducibility guarantee in completely arbitrary cases is either impossible or needs deterministic emulators which are terribly slow. (e.g. builds that depend on hardware probing or a simulation result) Input-to-output reproducibility in LLMs (assuming the same model snapshot) is a matter of optimizing the inference for it and fixing the seed, which is vastly simpler. Google for example serves their models in an "almost" reproducible way, with the difference between runs most likely attributed to batching.
- sarchertech 8mo agoIt’s not just about non-determinism, but about how chaotic LLMs are. A one word difference in a spec can and frequently does produce unrecognizably different output. If you are using an LLM as a high level language, that means that every time you make a slight change to anything and “recompile” all of the thousands upon thousands of unspecified implementation details are free to change. You could try to ameliorate this by training LLMs to favor making fewer changes, but that would likely end up encoding every bad architecture decisions made along the way and essentially forcing a convergence on bad design. Fixing this I think requires judgment on a level far beyond what LLMs have currently demonstrated.
- Daviey 8mo agoHow did you come up with this definition?
- deleted 8mo ago[deleted]