‹ BackHN Continuity

Thread

Evolving programming languages in the AI era

139 points · 99 comments · pjm331

  1. spankalee · · focus · HN ↗
    This part:

    ---

    - Correct by construction: the language makes invalid states or programs hard or impossible to express.

    - Statically established: types, proofs, and static analysis establish properties before execution.

    - Runtime-enforced: memory management, isolation, capability boundaries, and other runtime enforced properties.

    - Empirically validated: program validation through tests, property-based testing, and fuzzing.

    ---

    Along with being familiar, so it&#x27;s easy to generate, is a huge part of why I&#x27;m building Zena: <a href="https:&#x2F;&#x2F;zena-lang.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;zena-lang.dev&#x2F;

    I don&#x27;t have the AI-first rationale put into the public docs well just yet, but I mention some of it here: <a href="https:&#x2F;&#x2F;zena-lang.dev&#x2F;guide&#x2F;why-zena&#x2F;#familiar-to-humans-and-to-agents" rel="nofollow">https:&#x2F;&#x2F;zena-lang.dev&#x2F;guide&#x2F;why-zena&#x2F;#familiar-to-humans-and...

    along with a doc in the repo on this topic: <a href="https:&#x2F;&#x2F;github.com&#x2F;elematic&#x2F;zena&#x2F;blob&#x2F;main&#x2F;docs&#x2F;design&#x2F;ai-first-language.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;elematic&#x2F;zena&#x2F;blob&#x2F;main&#x2F;docs&#x2F;design&#x2F;ai-fi...

    In short, the more deterministic, automated, checks the better. AI can deal with a pedantic language. I intend to add statically verified structured concurrency, units of measure, contracts, and eventually more and more formal methods into the language so it can be a familiar TYpeScript-like base with as many static guarantees as we can fit in.

    I also think that fine-grained isolation, which Zena gets via Web Assembly, is critical for limiting the capabilities of generated code and the blast radius of bugs, vulnerabilities, and non-aligned behavior.

    I do have an optimistic hope that a language also optimized for humans, readability and simple semantics especially, has value in the future, even when most code is generated. We&#x27;ll see about that.

    1. demibabs · · focus · HN ↗
      A programming language for agents seems ill-conceived in my opinion.

      Agents will naturally be bad at it due to a lack of examples.

      1. ashton314 · · focus · HN ↗
        This is absolutely not the case in my experience. I am building a very large embedded domain specific language for describing distributed systems. It looks like a small subset of Elixir, but with object-oriented syntax in a lot of places. (It’s called a choreography; there exist many other choreographic programming languages.)

        Even though this programming language is absolutely nowhere in any large language model’s training set, they have so far done extremely well at extrapolating from the small set of examples I’ve given it when I need an agent to generate some tests or whatever for me.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.