Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #37462

Re: underscore as keyword in Java 9

From Arne Vajhøj <arne@vajhoej.dk>
Newsgroups comp.lang.java.programmer
Subject Re: underscore as keyword in Java 9
Date 2017-09-24 21:10 -0400
Organization Aioe.org NNTP Server
Message-ID <oq9l30$1262$1@gioia.aioe.org> (permalink)
References (1 earlier) <oq635r$alr$1@news.albasani.net> <oq704j$115r$1@gioia.aioe.org> <slrnosf5fq.ijn.avl@logic.at> <oq9bbe$lpo$1@gioia.aioe.org> <slrnosgfo9.ijn.avl@logic.at>

Show all headers | View raw


On 9/24/2017 7:27 PM, Andreas Leitgeb wrote:
> Arne Vajhøj <arne@vajhoej.dk> wrote:
>> On 9/24/2017 7:25 AM, Andreas Leitgeb wrote:
>>> [...] - A use they
>>> sometimes already have - and this particular use is now being
>>> forbidden just before likely being re-enabled.
>> According to the link Java 8 gives a warning about the
>> usage of _ as an identified[r?] because it may get a special
>> meaning in a future Java version.
> 
> In Java up to (and including, despite the warning) 8, one can
> have a method with (at most) one of the formal parameter names
> called "_", as well as "catch (MyException _) ...", and it is
> also (still) possible to actually see the value in "_" in the
> respective block.
> 
> With Java 9, one can not use "_" as a param name or catch
> identifier at all - regardless if used lateron or not.
> 
> In some future Java version "X" it *may* be, that one can once
> again specify the keyword "_" in certain places, where currently
> an identifier is required. It's probably going to mean that
> whatever value would end up in that position is just dropped/
> ignored/unretrievable.
> 
> Case 1:
>    final void foo(int _) { System.out.printf("%d%n", _); }
> 
> Case 2:
>    final void foo(int _) { System.out.printf("%d%n", 54); }
> 
> Both are legal in Java up to 8, illegal in 9, but only case 1
> would remain illegal in that Java "X". Case 2 in Java "X" would
> behave exactly the same as it behaved back in Java 7.
> 
> Anyone using "_" already now as if it were a black-hole identifier
> (as in case 2) will have to change their code to use e.g. "_ignore"
> instead, and only for Java "X" they will once again be able to
> change it back to "_".
> 
> A less bumpy road would have been to only error on the *use* of
> "_" as in case 1, while leaving case 2 legal until Java "X".
> 
>> That makes perfect sense to me at[s?] the old context
>> may become illegal syntax in the future, so a good
>> thing to get rid of that usage now before problems
>> arise.
> 
> It would be, if only those usages were refused that would fail
> with the new semantics.
> 
> But then again, the prognose about future meaning of "_" might be
> entirely off, and "_" might get to mean something completely different
> lateron - only then it would become clear, why "_" was illegalized
> even for cases like case 2 above.

Even if the prognosis is almost on and the future meaning
would be almost the same as expected now, then there could
still be some subtle differences.

I think it would be risky to try and base warnings
on something expected.

Arne

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

underscore as keyword in Java 9 Andreas Leitgeb <avl@logic.at> - 2017-09-23 11:58 +0000
  Re: underscore as keyword in Java 9 j4n bur53 <janburse@fastmail.fm> - 2017-09-23 18:46 +0200
    Re: underscore as keyword in Java 9 Arne Vajhøj <arne@vajhoej.dk> - 2017-09-23 21:01 -0400
      Re: underscore as keyword in Java 9 Andreas Leitgeb <avl@logic.at> - 2017-09-24 11:25 +0000
        Re: underscore as keyword in Java 9 j4n bur53 <janburse@fastmail.fm> - 2017-09-24 17:30 +0200
        Re: underscore as keyword in Java 9 Arne Vajhøj <arne@vajhoej.dk> - 2017-09-24 18:24 -0400
          Re: underscore as keyword in Java 9 Andreas Leitgeb <avl@logic.at> - 2017-09-24 23:27 +0000
            Re: underscore as keyword in Java 9 Arne Vajhøj <arne@vajhoej.dk> - 2017-09-24 21:10 -0400
              Re: underscore as keyword in Java 9 Andreas Leitgeb <avl@logic.at> - 2017-09-25 13:30 +0000
    Re: underscore as keyword in Java 9 Eric Douglas <e.d.programmer@gmail.com> - 2017-09-25 08:07 -0700
      Re: underscore as keyword in Java 9 lewbloch@gmail.com - 2017-09-25 13:21 -0700
      Re: underscore as keyword in Java 9 Silvio <silvio@internet.com> - 2017-09-25 23:30 +0200
        Re: underscore as keyword in Java 9 Arne Vajhøj <arne@vajhoej.dk> - 2017-09-25 20:24 -0400
          Re: underscore as keyword in Java 9 j4n bur53 <janburse@fastmail.fm> - 2017-09-26 13:37 +0200
          Re: underscore as keyword in Java 9 Silvio <silvio@internet.com> - 2017-09-27 19:05 +0200
            Re: underscore as keyword in Java 9 Eric Douglas <e.d.programmer@gmail.com> - 2017-09-27 10:25 -0700
              Re: underscore as keyword in Java 9 Silvio <silvio@internet.com> - 2017-09-27 23:02 +0200
            Re: underscore as keyword in Java 9 Arne Vajhøj <arne@vajhoej.dk> - 2017-09-27 20:02 -0400
              Re: underscore as keyword in Java 9 Eric Douglas <e.d.programmer@gmail.com> - 2017-09-28 05:11 -0700
                Re: underscore as keyword in Java 9 Arne Vajhøj <arne@vajhoej.dk> - 2017-09-28 20:42 -0400
          Re: underscore as keyword in Java 9 Sebastian <nowhere@nirvana.org> - 2017-09-27 20:26 +0200
            Re: underscore as keyword in Java 9 Silvio <silvio@internet.com> - 2017-09-27 23:10 +0200
        Re: underscore as keyword in Java 9 Andreas Leitgeb <avl@logic.at> - 2017-09-26 08:29 +0000
          Re: underscore as keyword in Java 9 Silvio <silvio@internet.com> - 2017-09-27 19:08 +0200
          Re: underscore as keyword in Java 9 Sebastian <nowhere@nirvana.org> - 2017-09-27 21:46 +0200
  Re: underscore as keyword in Java 9 Eric Douglas <e.d.programmer@gmail.com> - 2017-09-27 06:53 -0700
    Re: underscore as keyword in Java 9 Andreas Leitgeb <avl@logic.at> - 2017-09-27 15:59 +0000
      Re: underscore as keyword in Java 9 Arne Vajhøj <arne@vajhoej.dk> - 2017-09-27 19:18 -0400
        Re: underscore as keyword in Java 9 Daniele Futtorovic <da.futt.news@laposte.net> - 2017-09-28 11:41 +0200

csiph-web