November 2, 2025
Go? No—it’s Java baggage
Go Primitive in Java, or Go in a Box
Java’s heavy backpack: devs mock the “boxes”, shout out Trove, and pin hopes on Valhalla
TLDR: Java still lacks lightweight number lists, so the author pushes Eclipse Collections to avoid slow, bulky “boxes.” Comments split between confusion over the “Go” title, nostalgia for Trove, modest real‑world speed gains, and hopes that Java’s future Valhalla project will eventually fix it.
The article says Java makes you stuff simple numbers into bulky “boxes” just to use lists and maps, then pitches Eclipse Collections as the lighter, faster way to travel. But the comments turned it into a comedy roast. First, multiple readers joked the headline screams “Go” (the other programming language), and the vibe was: wrong flight, captain. One chimed in: this isn’t about Go at all, which immediately became the thread’s running gag. Then the nostalgia crowd rolled in: GNU Trove—an older library that already did primitive collections—got a loud shoutout, complete with SourceForge-era side‑eye, like finding your favorite band still selling CDs. Performance pragmatists dropped calm takes, saying they saw modest gains switching from boxed stuff to raw arrays, but if you don’t feel the pain, you’re fine staying with standard Java. The big drama? Project Valhalla—Java’s long-promised fix for this whole box-and-bloat saga. Commenters hyped it, then shrugged, recalling talks where experts joke it’s a hard, slow burn (link). So the community split: team “use Eclipse Collections now,” team “Trove did it first,” and team “wait for Valhalla,” with memes about Java carrying a suitcase of bricks and devs yelling “unbox me, bro!”
Key Points
- •Java has eight primitives, arrays for each, and three primitive stream types but lacks primitive collection types, necessitating boxing.
- •Eclipse Collections provides primitive versions of core containers (List, Set, Stack, Bag, LazyIterable, Map) plus Interval (int/long) and String (char/int).
- •Mutable and immutable variants exist for List, Set, Stack, Bag, and Map; Interval and String are immutable; LazyIterable is read-only.
- •Currently missing in Eclipse Collections: primitive BiMap, Multimap, SortedBag, SortedSet, and SortedMap; additions are driven by demonstrated need.
- •Eclipse Collections deliberately omits Boolean-keyed primitive maps, viewing Map<Boolean, V> as a design smell, despite such patterns in standard Java APIs.