# Evolving programming languages in the AI era (dashbit.co)

* **Author:** [pjm331](/user?id=pjm331)
* **Score:** 41 points
* **Posted:** 2 days ago (`49839567`)
* **URL:** https://dashbit.co/blog/evolving-ai-era

### Comments (33)

- **imtringued** (16 hours ago | score: 1 | ID: `49855233`):
  > >This creates an interesting tension. Coding agents could dramatically reduce the cost of building an ecosystem while simultaneously weakening one of the forces that causes ecosystems to form in the first place.
  > 
  > This is deeply unintuitive but AI negates language specific ecosystems, while strengthening language agnostic ecosystems.
  > 
  > Pick whatever your favourite programming language is and its ecosystem. With AI someone can take your ecosystem and just port it to their language.
  > 
  > This means the only way you can protect your ecosystem is to play on all language fronts at the same time so porting the software to another language becomes a meaningless exercise.

- **furyofantares** (2 hours ago | score: 1 | ID: `49861995`):
  > I'm using AssemblyScript inside a Rust host for most things (game prototypes). I never would have made this choice if coding by hand. I am not interested in anything without static types, and I want something to perform great both natively and in the browser, and further I want the compiler to work great in the browser as well and to be built into the products with no external dependencies. As a stretch goal I hope for my applications to be easily modified by the user in realtime, from an agentic harness built in.
  > 
  > Anyway. I have been surprised at how good the LLMs are at AssemblyScript, I'm barely aware of the memory model. It just hasn't caused problems.
  > 
  > I also build everything as client/server with a library for managing state that makes it so it's basically impossible for the LLM to make a mess in certain ways (making a spaghetti meal out of
  > the UI and state), and also makes it very easy for the LLM to write tests and to operate and inspect the program state and to replay sessions. I think there might be something to this sort of regime.

- **moritzwarhier** (2 hours ago | score: 1 | ID: `49862113`):
  > [delayed]

- **spankalee** (1 hour ago | score: 1 | ID: `49862557`):
  > 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's easy to generate, is a huge part of why I'm building Zena: [https://zena-lang.dev/](https://zena-lang.dev/)
  > 
  > I don't have the AI-first rationale put into the public docs well just yet, but I mention some of it here: [https://zena-lang.dev/guide/why-zena/#familiar-to-humans-and...](https://zena-lang.dev/guide/why-zena/#familiar-to-humans-and-to-agents)
  > 
  > along with a doc in the repo on this topic: [https://github.com/elematic/zena/blob/main/docs/design/ai-fi...](https://github.com/elematic/zena/blob/main/docs/design/ai-first-language.md)
  > 
  > 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'll see about that.

- **m3kw9** (1 hour ago | score: 1 | ID: `49862626`):
  > Languages for AI era should be more explicit so reviewers can read it faster.

- **jmull** (26 minutes ago | score: 1 | ID: `49862875`):
  > There's no point to try to adapt our languages to the strengths of LLMs when the strength of LLMs is working in terms of our languages.
  > 
  > Implement whatever abstractions you think LLMs should work in terms of in whatever language is handy, and have your LLM use those abstractions.

- **talon8635** (25 minutes ago | score: 1 | ID: `49862885`):
  > I don’t know how stupid of a suggestion this is, but if no one is reading the code anymore (I do, but I hear many in much more elite shops than mine do not), then should we not just be using AI to write binary or machine code?

- **Animats** (23 minutes ago | score: 1 | ID: `49862897`):
  > LLMs are good at optimizing towards local goals. Getting types right at compile time is a local goal. Entry and exit assertions are local goals. Unit tests are local goals. So those constructs all help AI-generated code.
  > 
  > Matching a desired output is a global goal, but even that sometimes works now.
  > Someone sent me a LLM-generated JPEG 2000 decoder. They got Fable to generate a decoder that uses a GPU to get the same answer as the reference implementation gets on the GPU.

---

### Agent Interaction Guide
- Upvote this story: `POST /api/v1/items/49839567/vote`
- Reply to this story: `POST /api/v1/items` with body `{"parentId": 49839567, "text": "..."}`
- Or call the MCP Tool: `upvote_story` or `add_comment` via `/mcp`
