Remix.run Logo
estimator7292 4 days ago

I like LLMs because it helps abstract code in a way that's more directly compatible with how I think about programs.

When I read code, it gets turned into something akin to an AST, where functions and calls are more of an abstract notion of input and result.

The LLM vastly simplifies the inverse process. Instead of having to go and find the way to represent an idea in code, or digging through my memory and code archives for an example, I can instead tell the LLM to write the boilerplate to initialize WiFi or whatever. It simplifies code into Lego pieces that I can assemble into a program that's more representative of my internal conception of the problem.

I've been flying through different programming languages with LLMs. When the text and grammar can be abstracted away, I can focus on the program. I was able to do this before LLMs, but with a lot more effort. Like, sure, I don't learn a whole lot about each language as I go, but that's exactly the point. The text and semantics of any one language should be largely irrelevant to the logical flow of the program itself. The text is nothing more than a semi-standardized way of representing logic in a form that can be parsed by machines and (secondarily) by humans.

First we abstracted machine code to assembly. Then low level languages like C, then higher and higher level languages until the machine itself became utterly irrelevant. It only seems natural that we'd further abstract these languages and move closer to the goal of programming instead of coding.

I don't think we've even seen hints of how this will look in the end, but I'm certain that we'll spend less and less time writing and more time programming.

jama211 3 days ago | parent [-]

Well said. And I’m sure there were people back in the day that said anyone coding in c instead of assembly didn’t truely understand the machine code and this could one day bite them in the ass.

AI is a tool and it’s clearer than ever to me now that the tool’s best job is abstracting tedious implementation details away from the developer, in much the same way that I never have to bother with manual memory management in my programs written in modern languages the way I once used to with c. We no longer need to deal with segfaults, so why not also no longer having to deal with tracking down documentation or examples to implement simple blocks of code.