<div dir="auto"><div>Thanks Joe.<div dir="auto"><br></div><div dir="auto">Ok, so deprecations are basically a super-regulated way to achieve a certain amount of backwards incompatibility without breaking Java's core promise?</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 2, 2024, 11:17 PM Joseph D. Darcy <<a href="mailto:joe.darcy@oracle.com" target="_blank" rel="noreferrer">joe.darcy@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
  <div>
    <p>There is a policy for managing deprecations:<br>
      <br>
         <a href="https://openjdk.org/jeps/277" rel="noreferrer noreferrer" target="_blank">https://openjdk.org/jeps/277</a><br>
      <br>
      Most the incompatible step, actually removing the declaration in
      question, if it occurs at all, would only occur after a warning
      period.<br>
      <br>
      HTH,<br>
    </p>
    <p>-Joe<br>
    </p>
    <div>On 12/2/2024 6:24 PM, David Alayachew
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <p dir="ltr">As a data point of one, we use all of the
        abovementioned constants regularly for my day job. In total, we
        have maybe a couple thousand instances of that constant being
        referenced. Ripping out wouldn't be too painful as long as I was
        told exactly what the replacements were, but I wouldn't be
        thrilled with it.</p>
      <p dir="ltr">Also, wouldn't this qualify as a
        backwards-incompatible change?</p>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Mon, Dec 2, 2024, 8:32 PM
          Joseph D. Darcy <<a href="mailto:joe.darcy@oracle.com" rel="noreferrer noreferrer" target="_blank">joe.darcy@oracle.com</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div>
            <p>Hmm. I understand the motivation here and the asymmetry
              with the integral types, but on the whole I don't think
              deprecating {Float, Double}.MIN_VALUE and recommending use
              of a differently-named field with the same value would be
              a net improvement.<br>
            </p>
            <p>-Joe<br>
            </p>
            <div>On 12/2/2024 3:17 PM, Éamonn McManus wrote:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">At Google, we've had several issues over
                the years relating to Double.MIN_VALUE. People have not
                unreasonably supposed that Double.MIN_VALUE has the same
                relationship to Double.MAX_VALUE as Integer.MIN_VALUE
                has to Integer.MAX_VALUE. So they think that
                Double.MIN_VALUE is the (finite) negative number of
                largest magnitude, rather than the positive number of
                smallest magnitude. We're currently thinking of adding a
                constant MIN_POSITIVE_VALUE to Guava's <a href="https://urldefense.com/v3/__https://guava.dev/releases/snapshot-jre/api/docs/com/google/common/primitives/Doubles.html__;!!ACWV5N9M2RV99hQ!PaT7OCGf7CncxF09sKLO4p39KkraAtzbBbvnOR8O8r2x6Z0e1zru8BqG9LGItQtyxAQkQc8A12DanwunC_ZxkNGO$" rel="noreferrer noreferrer noreferrer" target="_blank">Doubles</a> class and having
                static analysis that suggests using that instead of
                Double.MIN_VALUE, if that is indeed what you meant, or
                of course using -Double.MAX_VALUE if *that* is what you
                meant.
                <div><br>
                </div>
                <div>A few JDK and JavaFX bugs show that Google
                  engineers are not the only ones to be confused by
                  this:</div>
                <div><a href="https://bugs.openjdk.org/browse/JDK-4218647" rel="noreferrer noreferrer noreferrer" target="_blank">https://bugs.openjdk.org/browse/JDK-4218647</a></div>
                <div><a href="https://bugs.openjdk.org/browse/JDK-8092698" rel="noreferrer noreferrer noreferrer" target="_blank">https://bugs.openjdk.org/browse/JDK-8092698</a></div>
                <div><a href="https://bugs.openjdk.org/browse/JDK-8156186" rel="noreferrer noreferrer noreferrer" target="_blank">https://bugs.openjdk.org/browse/JDK-8156186</a></div>
                <div><br>
                </div>
                <div>So we also wonder if it would make sense to
                  deprecate Double.MIN_VALUE itself and introduce
                  Double.MIN_POSITIVE_VALUE with the same meaning.
                  Obviously the same thing would apply to Float.</div>
              </div>
            </blockquote>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </div>

</blockquote></div></div></div>