Not worth it. How will package level access be affected? How can this be 
exploited? How will it affect security and signing when things from the same 
package aren’t *really* from the same package?

Now that the recommendation is to bundle a JRE with your application, that kind 
of backwards compatibility is becoming less critical.  If necessary, deprecate 
java.util.Random. Make an interface for RNGs to implement and go with factories 
and a service provider pattern. Sometime down the line retire java.util.Random. 

Scott

> On Jul 2, 2019, at 7:55 PM, Jacob Glickman <jhg...@bucknell.edu> wrote:
> 
> Friendly reminder :)
> ---------- Forwarded message ---------
> From: Jacob Glickman <jhg...@bucknell.edu>
> Date: Sat, Jun 22, 2019 at 4:42 PM
> Subject: Mechanism to maintain backwards compatibility when moving classes
> to different packages
> To: <core-libs-dev@openjdk.java.net>
> 
> 
> Yesterday, Mark Reinhold introduced the idea of a java.util.random
> subpackage[1]. Obviously, moving java.util.Random into that subpackage is
> not currently an option, as that would break backwards compatibility.
> Assuming the subpackage is created, it would make sense to ultimately move
> java.util.Random into it. For that reason, I propose a new language feature
> that could make this possible:
> 
> package java.util.random previously java.util;
> 
> The syntax isn't important at the moment, but this mechanism should allow
> for users to run previously-compiled code with newer versions of Java, even
> if their code points to a class that has since been moved to a different
> package.
> 
> To eliminate potential bugs, users compiling new code shouldn't be allowed
> to reference java.util.Random, even if java.util.random.Random states that
> it previously resided in java.util.
> 
> I'm curious what you all would think of this, as it is not just applicable
> to this single example. There have been plenty of times that I've realized
> that my packages were named badly, but I'm forced to stick with that naming
> (unless I want my users to have to modify their code).
> 
> Thanks,
> 
> Jacob Glickman
> 
> [1]:
> http://mail.openjdk.java.net/pipermail/core-libs-dev/2019-June/060995.html

Reply via email to