← Back to context

Comment by shhsushs

2 days ago

This is getting tiring.

Code is not The Specification. It’s a specification of God knows what. Riddled with irrelevant, non-essential details wrapping The Problem - which in most cases will amount to something the size of a large pebble - in multiple layers of fur jackets, stored in boxes, which themselves are stored in multiple ridiculous moveable warehouse (if you’re lucky).

We have a standard for communication, it’s called regular bloody language. Code is an abomination that conflates the shadow with its source.

To piss off architects, managers and linguists all at the same time: language isn't much of a standard at all, it's more the current agreed-ish state of things, quite similar to the current state of a code base. Your inner model of what you like things to be is without direct effect to how things de facto are.

In addition: it's not wrapped around a problem, it's wrapped around an attempt at a solution - the problem space is often not even depicted in code, and often only minimally described in documentation.

  • It is that, and it’s the best we got. Code is downstream and strictly worse. Of course it is great for expressing you want integers of certain sizes being added, but that’s.. yeah, don’t know what to tell you if you think that is the problem domain.

    It’s not a secret we use DSL’s to express our Actual Problem. The Ancients told us it is The Way. Problem is devs think stacking int64s in a struct is a proper abstraction boundary.

    If you guys would have said proper DSLs are the spec I might have agreed but “code” in general without constraints is useless noise.

> Riddled with irrelevant, non-essential details

You’re describing natural language too

  • Actually, no. I can describe the invariants of a complex system quite concisely. Of course skill is an issue.

    Thing is, “code” does not give me universal building blocks. It gives me coding building blocks out of which I _could_ make a proper language but I could also not.

    I rather just talk directly in the substrate available to all of us which is “language” instead if some embedded, highly localized idiosyncratic variant that may or may not be able to express my problem.

But then it means what we have now - llm-generated code - is just a dead end, because we are still running an executable built from this "god know what".