Remix.run Logo
mycentstoo 2 hours ago

We should design a specific language to make sure that we can encode the exact requirements that we want. Something that has a limited set of keywords that are explicit. Wait a minute...

hmokiguess an hour ago | parent | next [-]

Now I have the full picture. You're right to push back, and that's on me. The load-bearing seams of language are the smoking gun I should have been aware of.

Retr0id 34 minutes ago | parent | next [-]

Until recently I thought "load-bearing seam" was a satirical exaggeration - I'd seen both claudisms independently but never combined. But a couple of days ago it hit me with "The key structural point first: the only load-bearing seam is [...]"

knollimar 27 minutes ago | parent [-]

the phrase load-bearing caveat makes me irate

triyambakam 43 minutes ago | parent | prev [-]

Fair...

10 minutes ago | parent | prev | next [-]
[deleted]
ValentineC an hour ago | parent | prev | next [-]

Commit Strip seems to be down, so here's the Wayback Machine version:

https://web.archive.org/web/20260521130338/https://www.commi...

jiggawatts 41 minutes ago | parent [-]

I was just thinking of this exact comic, which is etched into my brain for some reason.

The obvious counter to this is that we've been going through this evolution of increasing abstraction as developers for nearly a century now.

In the 40s and well into the 60s, most code was written either as straight up machine code or an assembly language. MS DOS is almost entirely assembly.

UNIX ushered in the era of "high level" portable languages like C, Fortran, and Pascal that some developers hated because they felt like they were losing the fine-grained control that they had with assembly. The compilers just "weren't as good" as humans at optimisation!

Then the compilers got better and people started using garbage-collected languages like Perl, Python, Java, JavaScript, and C#. Similarly, many people bemoaned the lack of control over memory allocation, lower efficiency, etc.

We're simply stepping up to the next level of abstraction.

Look at it this way: decades ago when I first discovered C++ templates, it felt like waving a magic wand in the direction of the computer. It blew my mind that I could simply substitute "float" instead of "double" in between some angle brackets and the compiler would write reams of code for me!

We simply have better magic wands and more powerful spells now.

esseph 5 minutes ago | parent | next [-]

[delayed]

6 minutes ago | parent | prev [-]
[deleted]
grim_io 2 hours ago | parent | prev | next [-]

The success of LLM's (by usage) tells us that programming languages are still too close to the machine than the actual problem domain as defined by humans.

If we truly had the right abstractions, no one would care to use LLM's for programming.

andy99 an hour ago | parent | next [-]

I think there’s a kind of laundering that goes on. Like if leadership just told devs to go build something (gave them a prompt) and the devs picked some defaults, leadership wouldn’t like it, they’d want some different interpretation of the prompt, there’d be lots of back and forth.

Somehow when it’s the LLM that makes the choices, everyone is impressed with what AI did. It’s really just whatever defaults have been trained in, but somehow we’re ok with this.

Part of it is better marketing and communication. Basically the defaults of OpenAI and Anthropic are better than what a random dev will pick. But it’s not really that natural language is a better interface, it’s more that having “AI” for now somehow intermediates responsibility so everyone is ok with what it picked, when they probably wouldn’t accept the same if the internal team came up with it. It’s not too different from hiring consultants.

vatsachak an hour ago | parent | prev | next [-]

I disagree. I speak in code to the LLMs. It's just that LLMs are really good at reinventing the wheel that you were supposed to in your codebase. Recent example.

struct TensorView<T>{ body: Arc<[T]>, shape: [usize], stride: [usize], offset: usize, }

Okay now fill in all the helper methods. And GPT 5.6 Sol did a good job.

grim_io an hour ago | parent [-]

With that kind of workflow, you might be faster with AI autocomplete :)

vatsachak an hour ago | parent [-]

Yep! I do use Codex CLI

ACCount37 2 hours ago | parent | prev | next [-]

I suspect a lot of "the right abstractions" would be fuzzy and opaque things - more alike to modern AI than to anything from the domain of traditional programming. Because the world is just cursed like that.

PunchyHamster 11 minutes ago | parent | prev | next [-]

There is no right abstraction to make runnable human vagueness.

At one point someone have to take "what you think it should do" into defined unambiguous spec that is called "code"

echelon an hour ago | parent | prev [-]

DNA is still too close to molecular biology than the actual problem of harvesting free energy and replicating.

I think we see this pattern over and over and it might just be that the problem domain is a weird projection into more dimensions of complexity than it makes sense to directly model.

tomrod 2 hours ago | parent | prev | next [-]

This made me belly laugh.

cwmoore 2 hours ago | parent | prev | next [-]

then we can make a frame for it to work

oblio an hour ago | parent [-]

I've always loved things that grow. Maybe we should name the first frame for work Primavera.

MengerSponge an hour ago | parent | prev | next [-]

We could write instructions like literature. Maybe we could call it "Literate Programming"?

https://en.wikipedia.org/wiki/Literate_programming

moomin 27 minutes ago | parent [-]

I kid you not, I remember writing an example solution with comments explaining how we were approaching the problem. Copilot wrote most of the actual code via autocomplete. And that was a year ago, models have got a lot better since then.

amarcheschi 2 hours ago | parent | prev | next [-]

Someone should make a standard for this

now there's one standard more

cyanydeez an hour ago | parent | prev | next [-]

maybe we should all get specially, local working versions so that when we build our software they're not broken by the whims of multibillion dollar corporations.

coip 2 hours ago | parent | prev | next [-]

full_circle.exe

Complete with all the vaguery, ambiguity, and `undefined`.

Who’d’ve thought sycophantic interpreters were what we were building towards up til now lol

ares623 2 hours ago | parent | prev | next [-]

An LLM Inspired Specification Processing language. Or LISP language for short. Truly this "LISP" language is the language for AI and is the first of its kind in history!

Zababa an hour ago | parent [-]

Maybe this one will even be successful!

cfiggers 7 minutes ago | parent [-]

That really would be a first!

dataviz1000 an hour ago | parent | prev [-]

My current thinking -- what I've been thinking about a lot yesterday and today -- is not encoding the exact requirements into the prompt and context but rather focus on the verifier and roll back if needed. There are of places in computer science where non-deterministic behavior is optimized. For example, UDP packets which are just ignored and speculative execution in modern CPUs guesses which branch a program will take and rolls back when wrong.

Ideally, a cheap verifier checks that the exact requirements are satisfied, rolling back and updating the prompt for another iteration if they aren't. If ten iterations with ten verifications steps at the end of each before the exact requirements are met costs less or in less time than a developer who can accomplish it in one attempt, it is still better.