Remix.run Logo
steve1977 3 days ago

There was a time (around the beginnings of Mac OS X) when Java was considered a first class citizen in Mac OS X, next to Objective-C.

Some NeXT products like WebObjects got ported to Java (and ran not only the iTunes backend but also things like the original Dell online store) and there was something called the Java bridge which allowed you to program Cocoa applications with Java.

https://developer.apple.com/library/archive/documentation/Co...

Oh, and with Yellow Box for Windows, this was also possible on Windows.

If you look at the screenshots here, it's mostly Windows 2000: https://developer.apple.com/library/archive/documentation/Le...

giobox 3 days ago | parent [-]

It wasn't just Apple, in the late 90s/early 2000s there was a not insignificant number of folks in business/academia who thought Java would take over the world. Windows XP also shipped with an embedded JVM for running Java apps out of the box at one stage too, just before Microsoft doubled down on c#/.NET.

Along with MacOS X, Apple's Xcode IDE even had native java project support briefly in this era as well.

steve1977 3 days ago | parent | next [-]

There was even a Microsoft Visual J++ (and later J#).

It was definitely the thing for a while. Although I remember my very first steps with Java and Swing and my primary impression was "this is so slow".

jug 3 days ago | parent | prev | next [-]

Yup, this brings back my academia years in 1998, sitting with KDE 1.0 and Java 1.1. It was mostly Java, then Perl as this fabulous scripting/glue language, teeny bit of C and MIPS Assembler for the low level courses.

We didn't touch a fairly esoteric language called Python much. Because we saw the future. Java and IPv6 was about to change everything.

bombcar 3 days ago | parent | prev [-]

Java really could have taken over the world, and it can be performant, too.

One of the versions of the most popular game in the world is written in Java, and it's quite capable of being very fast.

steve1977 2 days ago | parent | next [-]

Well this must have been around Java 1.2 or 1.4 IIRC, I'm not even sure if Hotspot was a a thing back then.

I just remember that GUI programming with Swing felt like molasses compared to native GUIs at that time (i.e. Win32/MFC, Cocoa, Motif).

But of course the cross-platform aspect was cool and since I did quite a bit with Solaris back then, Java got of course pushed a lot by Sun.

CyberDildonics 3 days ago | parent | prev [-]

Are you talking about minecraft? Minecraft was known for working only because it is so simple graphically compared to other games. It was said to allocate and deallocate hundreds of megabyte of memory every frame.

bombcar 2 days ago | parent [-]

Minecraft still runs, and it may look graphically simple but it's actually pretty complex (as it has millions of blocks in memory at any time and has to cull which to not render, etc).

Minecraft does do some horrible things to the JVM, but it's strong and can take it.

CyberDildonics a day ago | parent [-]

it may look graphically simple

Because it is graphically simple. That's not even a CPU issue.

millions of blocks in memory at any time and has to cull which to not render, etc).

128x128x128 is already 2 million voxels. Minecraft and any other game like that can use an octree or some variation to not individually deal with blocks. When things are in the distance or occluded or empty space you cull a courser level of the octree.

Java can be fast compared to scripting languages but I don't know why minecraft would be an example. It is a simple game that was poorly written and had to be re-written in C++ for other platforms. It got by on being simple and but running on full PCs at the same time.