• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

Pay for Java ?

Joined
Jan 31, 2012
Messages
2,797 (0.57/day)
Location
East Europe
System Name PLAHI
Processor I5-13500
Motherboard ASROCK B760M PRO RS/D4
Cooling Intel Laminar RM1
Memory 1x32GB Kingston Fury BEAST RGB DDR4 @ 3200Mhz
Video Card(s) Red Dragon RX 6800XT 16GB
Storage Kingston Renegade GEN4 nVME 512GB
Display(s) Philips 288E2A 28" 4K + Eizo FlexScan EV2450 24"
Case TT URBAN R31
Audio Device(s) Creative Soundblaster Z
Power Supply Fractal Design IntegraM 650W
Mouse Logitech Triathlon
Keyboard REDRAGON MITRA
Software Windows 11 Home x 64
No the companies that publish content will need a license. I have been thinking this over and it does bring some interesting questions regarding modifications or independent apps think minecraft mods etc, where users are modifying codebases for commercial software but the commercial software doesnt officially support them. Should be interesting.
 
No the companies that publish content will need a license. I have been thinking this over and it does bring some interesting questions regarding modifications or independent apps think minecraft mods etc, where users are modifying codebases for commercial software but the commercial software doesnt officially support them. Should be interesting.

Yup and oracles policies can change by then too
 
Isn't that just the Java 8 EOL notice?

Just get the newer one. You don't need to pay anything.

EDIT: Oh, they expect you to bundle the runtime as a dev now. So is this the end of crossplatform jar files? Interesting.
 
TL;DR: probably a good idea to uninstall Java 8 if it is on your system and install Java 10 instead if you still need it.

Java 11 (coming in September) will be updated out to 2026.

Minecraft Server I'm running now won't work on Java 11. Gives a message about "nutty" doing an illegal access which will be blocked in Java 11.

And seriously, if Minecraft didn't exist, virtually no one would be using Java anymore. Microsoft really needs to make a Minecraft 2.0 with a new engine that divorces the game from Java. I checked my other two computers that ran Minecraft once upon a time and neither computer had Java installed. Better to just uninstall it and wait until I actually need it than to keep on updating it.
 
Last edited:
You are way out of date Ford. Minecraft for Windows 10 has been a thing for ages now.
 
And the Win 10 version is smooth and light.. almost like a unity game.
 
But it also does not support mods, hence Java still being a thing.
 
Fair enough.

I hate Java btw.. always have.

Sidenote: The weirdest thing is when I see mods made in java for games that have nothing to do with java. There was a mod manager for Mass Effect 3 that once relied on it... not sure anymore. And a gameplay mod and patcher for Skyrim.. forgot what it's called.
 
That's because Java is a really easy to learn cross platform language. No idea why it's garnered so much hate, frankly. I can only assume it is due to it's web plugin, which should never have been a thing.
 
That's because Java is a really easy to learn cross platform language. No idea why it's garnered so much hate, frankly. I can only assume it is due to it's web plugin, which should never have been a thing.

Yes, the web plugin was big back in the day.. I've hated it since. Perhaps unfairly?
 
Yes, the web plugin was big back in the day.. I've hated it since. Perhaps unfairly?

I think the trouble the web plugin brought did earn it a bad rap. To be fair, the web plugin was a horrible, horrible tech. So maybe partially fair. ;)
 
You are way out of date Ford. Minecraft for Windows 10 has been a thing for ages now.
I thought it was thin (it has the same amount of content as the other mobile versions, not as much as the Java desktop version). Also, I don't think you can host dedicated servers with it (Microsoft hosts the servers).

That's because Java is a really easy to learn cross platform language. No idea why it's garnered so much hate, frankly. I can only assume it is due to it's web plugin, which should never have been a thing.
Because JVM sucks and constantly has security holes poked in it (massive liability if you "install and forget" it). Hogs resources, poor performance, forces stupid rules on developers (like no unsigned integers), it's organization is a disaster (what part of "swing" sounds like "graphical user interface"?), and if you need to make a UI, it looks like it came straight out of the 90s unless you put in a lot of effort to modernize it.
 
I thought it was thin (it has the same amount of content as the other mobile versions, not as much as the Java desktop version). Also, I don't think you can host dedicated servers with it (Microsoft hosts the servers).


Because JVM sucks and constantly has security holes poked in it (massive liability if you "install and forget" it). Hogs resources, poor performance, forces stupid rules on developers (like no unsigned integers), it's organization is a disaster (what part of "swing" sounds like "graphical user interface"?), and if you need to make a UI, it looks like it came straight out of the 90s unless you put in a lot of effort to modernize it.

Heh to be fair, I have a fondness for that 90s UNIX look. But yeah, it doesn't look good on anything else.
 
Because JVM sucks and constantly has security holes poked in it

Only a concern if you are attacking the sandboxing, which really is only a concern via again, the web plugin.

We have been over the rest. Basically, you don't like the design choices, we know dude.

I thought it was thin (it has the same amount of content as the other mobile versions, not as much as the Java desktop version). Also, I don't think you can host dedicated servers with it (Microsoft hosts the servers).

Pretty sure it has the same content (Possibly even more than). Unsure about other multiplayer points. It has been a long time since I played.
 
Last edited:
Apparently content is the same but servers are extremely restrictive (subscription to host even?):
https://www.windowscentral.com/four...ft-windows-10-edition-beta-and-java-minecraft

Edit: Just confirmed, online is subscription:
minecraft.png
 
That's because Java is a really easy to learn cross platform language.

And because of that it's used to code anything regardless of whether or not it's actually fit for every one of those tasks. Inevitably , duds emerge and they bear the Java logo so to speak.
 
We have been over the rest. Basically, you don't like the design choices, we know dude.
...but sounding like a broken record makes his argument that much more convincing, right? :laugh:
 
And because of that it's used to code anything regardless of whether or not it's actually fit for every one of those tasks. Inevitably , duds emerge and they bear the Java logo so to speak.

I'd argue it's probably worth it. Like Excel and the retarded stuff some uses it for, but it's great to be able to do it.
 
We have been over the rest. Basically, you don't like the design choices, we know dude.
...but sounding like a broken record makes his argument that much more convincing, right? :laugh:
Didn't want to dive into in this thread but I'll bite because I'm genuinely curious...

Consider this in C#. It was originally ported (a union, if memory serves) from Quake code which is C:
Code:
[StructLayout(LayoutKind.Explicit)]
public struct AnimationValue
{
    [FieldOffset(0)]public short Value;
    [FieldOffset(0)]public byte Valid;
    [FieldOffset(1)]public byte Total;

    public AnimationValue(short value)
    {
        Valid = 0;
        Total = 0;
        Value = value;
    }
    public AnimationValue(byte valid, byte total)
    {
        Value = 0;
        Valid = valid;
        Total = total;
    }
}
Should be self-explanatory what it does: each AnimationValue represents 16-bits and it's either read/written as an int16 or a uint8 representing the start index (Valid) and the count (Total). The engine does support up to 256 animation values per animation. How would you do that in Java? I'm sure you can manage but it's going to take a lot of extra lines of code (read: processing time) to make it happen. It's asinine because these are basic concepts processors support that Java doesn't. Java is slow and bloated because it forces those attributes upon itself by being very poorly designed.

Animations occupy a lot of space in models. This elegant solution allowed models to be internally compressed. When Valid is >0, all those values that would be zero (no change for the frame) are simply excluded. When I expanded the animations in memory to recompress them, one or two megabytes turned into dozens. For giggles, here's the code that expanded it:
Code:
AnimationValue value = new AnimationValue(br_ani.ReadInt16());
handled += value.Total;
short read2 = 0;
for (int v = 0; v < value.Valid; v++)
{
    read2 = br_ani.ReadInt16();
    seq.AnimationCollection[bl, b, t].Add(read2);
}
for (int v = value.Valid; v < value.Total; v++)
    seq.AnimationCollection[bl, b, t].Add(read2);
br_ani = BinaryReader for animations
handled = frames handled
read2 = temporary storage for the read value
bl = animation blend
b = animation bone
t = transform (0-5 representing X translation, Y translation, Z translation, X rotation, Y rotation, and Z rotation)
seq = sequence


In my view, this exemplifies what is fundamentally wrong with Java. Even VB.NET can do the example above because it supports StructLayout(LayoutKind.Explicit).
 
Last edited:
Most valuable post ever. ^


I got to wonder what the original code used and it turns out it was a "union." I searched for that specifically in terms of Java and found this:
http://lambda-the-ultimate.org/node/2694
James Iry said:
C style unions allow the same bit pattern to be interpreted in multiple ways. For instance, it's common to use a union to pack/unpack a fixed length binary blob into its constituent fields. That's useful in some systems programming contexts, but it's a very low level feature and was excluded from Java since it doesn't make any sense for Java's design goals. In fact, you won't find anything like it in most languages.
Except he's wrong: it's about interpretation of the binary, not querying types. Any binary string can be converted two and from any numeric type so long as there is enough bits available. The application itself has to know what type to expect from it when. And this is where the performance comes from: stop trying to study the primitives and just do it like a good computer should. If C# could make it happen in the early 2000s, Java could have back in the 90s too. They elected not to because they didn't trust developers with raw data. It's the same mentality that leads to the exclusion of unsigned types and memory structures at large. Java has more training wheels (to the detriment of performance and design) than even Visual Basic does.

Unless you're desperate for easy cross-platform support, Java is a terrible option.


For the record, C# can convert signed byte to unsigned byte to signed byte in the same way a union does via unchecked(). Unchecked does not require the application to be compiled with /unsafe. It simply disables conversion and flips the type to interpret it as.
 
Ford, you are essentially talking to yourself at this point my man. Good luck there.
 
TL;DR: probably a good idea to uninstall Java 8 if it is on your system and install Java 10 instead if you still need it.

Java 11 (coming in September) will be updated out to 2026.

Minecraft Server I'm running now won't work on Java 11. Gives a message about "nutty" doing an illegal access which will be blocked in Java 11.

And seriously, if Minecraft didn't exist, virtually no one would be using Java anymore. Microsoft really needs to make a Minecraft 2.0 with a new engine that divorces the game from Java. I checked my other two computers that ran Minecraft once upon a time and neither computer had Java installed. Better to just uninstall it and wait until I actually need it than to keep on updating it.

The irony of Microsoft keeping Java alive has not escaped me... Its hilarious if you think of it :D

For the youngsters
https://www.infoworld.com/article/2...osoft-settle-suit-in-billion-dollar-pact.html
 
Back
Top