SOM: A minimal Smalltalk for teaching of and research on Virtual Machines

Smalltalk goes tiny, comments go nuclear: SOM sparks a bench-war revival

TLDR: SOM is a tiny, teaching-focused Smalltalk with many versions across languages, complete with performance comparisons and research links. Commenters split between loving the simplicity and blasting it as a “toy,” while bench-war memes, Rust-vs-Java posturing, and pun-heavy jokes make it the week’s nerdiest brawl.

SOM—short for Simple Object Machine—just dropped the tiniest take on Smalltalk, a language famous for its clean, old-school style. It’s built for teaching and research on virtual machines (the engine under a language), and it comes in multiple flavors—Java, Python, JavaScript, Rust, and more—with a cute Fibonacci demo and a chart that screams “performance face-off.” Educators are thrilled, Smalltalk fans are glowing, and the rest of the internet is yelling. In other words: perfect chaos.

The loudest takes? Minimalists are chanting “Finally, a language you can actually understand,” while skeptics scoff “toy project.” That boxplot in the announcement? It ignited full-on bench wars, with Rust diehards flexing, Java loyalists sermonizing, and Python fans insisting “it’s for teaching, not speed.” Meanwhile, newcomers are confused why there are so many versions of the same thing—supporters clap back: that’s the point, to compare techniques and test ideas.

The comedy writes itself: everyone’s making AweSOM/HaSOM puns, someone asked “Where’s the ZigSOM?” and half the thread is dunking on the eternal Fibonacci benchmark (aka “the gym selfie of programming”). Old-school Smalltalkers are victory-lapping with “Smalltalk never died,” while another camp groans “please no more Slack invites, just use Discord.” It’s nerdy, petty, and we can’t look away.

Key Points

  • SOM (Simple Object Machine) is a minimal Smalltalk aimed at teaching and research on virtual machines.
  • Multiple SOM implementations exist across languages (e.g., Java, Python, JavaScript, Rust), all supporting the same language with differing techniques and optimizations.
  • A performance comparison (boxplot) illustrates differences among SOM implementations.
  • SOM has inspired additional language implementations, including SOMNS, Moth, TruffleMATE, and RTruffleMate.
  • Community and research activity include GitHub-hosted code, communication channels (Twitter, mailing list, Slack), and academic work such as the 2023 Haskell-based HaSOM and cited publications.

Hottest takes

“Stop flexing Fibonacci; show me real workloads” — benchBro
“Smalltalk never died, it just perfected vibes” — nostalgiaNerd
“Nine versions of the same toy? Or a researcher’s dream?” — pragmatix
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.