The Future We Never Got, Running A Future We Got

If you’re familiar with Java here in 2025, the programming language you know is a world away from what Sun Microsystems planned for it in the mid-1990s. Back then it was key to a bright coffee-themed future of write-once-run-anywhere software, and aside from your web browser using it to run applications, your computer would be a diskless workstation running Java bytecode natively on the silicon.

What we got was slow and disappointing Java applets in web pages, and a line of cut-down SPARC-based JavaStations which did nothing to change the world. [FatSquirrel] has one of these machines, and a quarter century later, has it running NetBSD. It’s an interesting journey both into 1990s tech, and some modern-day networking tricks to make it happen.

These machines suffer as might be expected, from exhausted memory backup batteries. Fortunately once the serial port has been figured out they drop you into an OpenBoot prompt, which, in common with Apple machines in the ’90s, gives you a Forth interpreter. There’s enough info online to load the NVRAM with a config, and the machine stuttered into life. To do anything useful takes a network with RARP and NFS to serve an IP address and disk image respectively, which a modern Linux machine is quite happy to do. The resulting NetBSD machine maybe isn’t as useful as it could be, but at risk of angering any Java enthusiasts, perhaps it’s more useful than the original JavaOS.

We remember the promise of a Java-based future too, and tasted the bitter disappointment of stuttering Java applets in our web pages. However, given that so much of what we use now quietly runs Java in the background without our noticing it, perhaps the shade of Sun Microsystems had the last laugh after all. This isn’t the first ’90s machine that’s been taught new tricks here, some of them have received Java for the first time.

7 thoughts on “The Future We Never Got, Running A Future We Got

  1. “Fortunately once the serial port has been figured out they drop you into an OpenBoot prompt, which, in common with Apple machines in the ’90s, gives you a Forth interpreter.”

    I have an old ibook g3 ppc with a broken screen, it could netboot if you press 4 keys, and has OpenBoot if you press “Command (⌘) + Option (⌥) + O + F”.

  2. “a Forth interpreter”.

    fig Forth is both an interpreter INTERPRET and a compiler COMPILE.

    c/c++ industries tried to bury forth software technology? But :)

    bright forth 8051 internal forth.

    AI Overview. :)++

    Bright Forth 8051 internal Forth” refers to a version of the Forth programming language specifically designed to run on the internal memory of an 8051 microcontroller, allowing for a compact and efficient implementation directly on the chip without needing external RAM for the Forth dictionary and execution stack.

    We had a Bright forth chip at Sandia Labs. Who produced? Intel?

  3. Awful lot of Android devices out there running Java-based apps, to claim it fizzled so completely. Yeah Sun had it way wrong, but “the network is the computer” actually turned out to be quietly prescient all the same.

    1. yeah i think the roadmap to get from here to there is a little twisted but it really came out exactly as envisioned. i still marvel that microsoft at the turn of the century had the clearest vision for how to get there — the ambitions of ms dot net turn out to be almost identical to android imo. microsoft just didn’t have the internal focus necessary to get it done. they squandered ‘getting there first’ into a massive dead end

  4. Java hasn’t fizzled. It just didn’t realize it’s potential when it was introduced. I was at Java One and was very impressed with the goals back then. Build once deploy everywhere. I was motivated and captivated. Back at work, I even started and completed a few projects for web apps as we saw a great opportunity for ‘easy’ deployment of product. Upgrades would be ‘easy’ as just deploy .jar to web-server and then downloaded to client machines. Life was looking good… Until ‘security IT’ got involved. Then customer IT departments wouldn’t allow it on their machines and that blocked us from our plan. :( Hopes dashed, Java projects were dropped. Back to deploying C apps on a CD or our ftp site… I think Java is still used in great many places and taught in schools. I know a high school teacher in Texas that uses Java as programming introduction. So not going away. It just hasn’t been able to live up to the initial goals. At home I dabble with it now and again…

  5. “Back then it was key to a bright coffee-themed future of write-once-run-anywhere software”

    Except it was a lie. They published, promoted, and then abandoned GUI toolkit after GUI toolkit instead of making one complete toolkit that really could work on any system. The result was fragmentation and systems that could not run Java applications without a JVM upgrade. This is especially problematic for embedded platforms which were basically unsupported after the initial release.

    The promise of write-once-run-anywhere was never fulfilled because they failed to anticipate the need to include low level primitives that could be used to implement higher-level toolkits. Polyfilling an API is possible… but only if the underlying actions are accessible. Java has and will always be write-once-terrible-everywhere.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.