Michigan prof creates Python-like Jac language for AI agents
Most programming languages were written for human programmers, but that’s about to change. University of Michigan professor Jason Mars has developed an academically ambitious language called Jac , and a runtime called Jaseci, that treats AI and AI agents as first-class entities. Mars demonstrated the language and runtime in a talk at the All Things Open conference, held in Raleigh, North Carolina, this week. The tools we use to create software – everything from programming languages to build toolchains – were made for human consumption. They were created before generative AI and are ill-fitted to understand agentic needs. Currently, agents are drowning in polyglot complexity, he argued. "We’re not using these tools anymore. We’re using the agents, and the agents are using those tools. So I don’t want new tools, but I want tools [for] my agents," he told the audience. One big hungry language In his talk, Mars cited Jarred Sumner, creator of the Bun framework, who spent $165,000 in Anthropic tokens to convert Bun’s Zig code into Rust earlier this year using a pre-release version of Mythos. Mard argued the heavy expense wasn’t so much because the job itself was complicated; it was because everything had to be translated between two human-centered programming languages. “Mythos is supposed to hack into our nuclear reactors and take over the planet like Skynet, but it can’t translate Bun to Rust unless you spend $165,000,” he noted. In Mars’s theory, Jac is a new type of programming language designed to “gobble up” other languages. Specifically, it’s a Python-like language that integrates both the TypeScript and Python runtimes and toolchains. It compiles to Python bytecode, JavaScript, and native machine code. It can make full use of any libraries both in the PyPI and npm ecosystems. And there’s more! Jac has also incorporated the LLVM compiler to implement Rust-style borrow checking and ownership semantics, allowing Jac code to directly benefit from these memory safety rules and performance gains. It can also import C and C++ libraries, thanks to the very same LLVM integration. Mars also described an “eject function,” which can reverse-compile the user’s Jac code into TypeScript, Python, or C to meet corporate compliance. One currently missing language is Java…