I was teaching my son Java a few minutes ago, and I caught myself explaining the “why” behind the language. Java was born in a world where developers were scarce and expensive. So the language and the tooling around it leans hard into: * Code reuse * Strong abstraction boundaries * Write once, run anywhere * Long-lived systems that lots of people can maintain That set of constraints produced a certain kind of engineering culture: design first, standardize, package, reuse. But the agentic world is being shaped by different constraints: * “Labor” (reasoning, drafting, coding) is becoming less scarce * Iteration is cheap * The bottleneck shifts to intent, verification, context, and orchestration * Reliability depends less on perfect upfront design and more on tight feedback loops and cost controls So it makes me wonder: what are the “Java-like” primitives and tooling for agents? Maybe it’s not classes and interfaces. Maybe it’s: * Prompts and tools as first-class capabilities * Evals and continuous behavioral tests as the new type system * Memory management, context pruning and compaction, and handover as the new runtime * Verification/reflection loops as the new try/catch * Audit trails + budgeted phases + confidence thresholds (provable work / dynamic SLAs for budget, latency, confidence) built into the workflow Maybe we don’t just get new tools. We eventually get a new language or layers above the language designed for agent-native development. I’d love to hear what primitives you think will matter most: evals, orchestration, memory, or something else entirely. If you’re building agentic systems today, what’s been your biggest "constraint shift" in practice?” #SoftwareEngineering #DeveloperTools #AIAgents #AgenticWorkflows #FutureOfTech
I think the compute power which these AI agents require is huge. That’s when we see more money pumped into the GPU , memory.. A parameter where Java thrived was ‘inexpensive’. You add the infrastructure requirements for these new technologies - that’s the biggest investment.
language it codes in is going to depend on the repo and guardrails, skills, agents, mcp servers, and built up controls in place
the missing primitive is cost as a type. java never had to reason about the price of a method call. in agentic systems, every tool invocation and reasoning step has a dollar amount attached. the "budgeted phases" point gets closest, but it sits at the orchestration level. push it down into the primitives and you get something like cost-annotated capabilities, where an agent can reason about whether a $0.50 lookup is worth it for the current task before invoking it.