November 26, 2025
AI compiles, commenters combust
JOPA: Java compiler in C++, Jikes modernized to Java 6 with Claude
AI revives a 90s Java legend, sparks name jokes and model wars
TLDR: Claude helped revive the classic Jikes compiler to support Java 5/6 in record time. The community is split between amazement, name jokes, and fiery model wars over which AI can really code—highlighting both AI’s growing power and the messy feelings around it.
A vintage Java compiler just got an AI-powered glow-up, and the comments are pure chaos. JOPA, a modernized fork of IBM’s 90s-era Jikes, now speaks mid-2000s Java (versions 5 and 6) with generics, enums, and annotations—but the star isn’t the feature list, it’s the shock that Claude, an AI, coded most of it in under a day. Project lead pshirshov swears it took “minimal supervision,” triggering a wave of awe, side-eye, and “did the robot just out-code me?” energy.
Then the model wars erupted. pshirshov says Codex and Gemini “failed spectacularly,” while Claude’s Sonnet 4.5 carried the load and Opus 4.5 kept hitting walls. Cue fanboys rolling in with scorecards and popcorn. One commenter asked if there was a Java compiler written in Java, stoking an “why is this in C++ in 2025?” thread that spiraled into philosophy. For non-nerds: a compiler turns code into the stuff computers actually run; this one’s bringing old tech back with new tricks.
Meanwhile, the name drama stole the spotlight: “Jopa means ass in russian,” and the thread instantly filled with cheeky memes and giggles. The dev teases Java 7 next—but grumbles about “StackMapTable,” a kind of extra safety paperwork Java added, and admits swapping in a modern parser hit nasty tight coupling. Translation: AI can sprint, legacy code still throws elbows. Nostalgia meets AI hype, and the comments? Absolute theater.
Key Points
- •JOPA modernizes the C++-based Jikes compiler to support Java 5 (J2SE 5.0) and Java 6 (Java SE 6).
- •Java 5 features implemented include generics, enhanced for-loops, varargs, enums, autoboxing/unboxing, static imports, and annotations.
- •Java 6 support includes generating class file version 50.0 (-target 1.6) and enhanced debug info with -g for parameters and locals.
- •Build requirements and instructions are provided for CMake (3.20+), a C++17 compiler, optional iconv/ICU, and Nix/direnv workflows.
- •Jikes’ history is outlined: authored at IBM Research, released via alphaWorks, later open-sourced, included in Red Hat, moved to DeveloperWorks/SourceForge, with active development ceasing in 2005.