Maybe Death of the IDE

A discussion on tooling and unix.

Hosted by Zed

I enjoyed this discussion, sketching some potential futures for software engineering tools. Steve's projected future, where engineers check in on and direct LLM agents that are using a host of small, purpose-built programs, with agents adding to that host, makes me think of Armin Ronacher's MCP experiments and aligns with the Unix philosophy.

The Unix philosophy's failure, what led to the construction and dominance of IDEs, is due to the overhead of parsing and printing that it requires. In order to stitch two unix programs together, either one is required to implement a bunch of flags for controlling input parsing or controlling output printing, OR it falls to the user to wield yet other unix programs to slice and dice the input/output between the original two, just to fit them together. IDEs need to do many things and so they tightly couple their components to achieve this as a result.

The language models are really good at maintaining semantics while translating between syntaxes, making them the ideal glue between unix-y programs. Additionally, they are very good at quickly creating greenfield programs for well-defined purposes. Combined, it's easy to see a potential paradigm shift in the near future towards tons of small, easily-understood programs that models use in concert, with the models adding programs to the symphony in a semi-or-entirely-automated fashion. Whether this paradigm will replace IDEs remains to be seen — I'm not convinced that we fully escape them, though I find myself gravitating towards lighter-weight text editors like emacs, Zed, or VSCode.