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


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

Re: JLS 3/e -- Lots Of Errors

Date 2011-02-06 17:14 -0800
From Patricia Shanahan <pats@acm.org>
Newsgroups comp.lang.java.programmer
Subject Re: JLS 3/e -- Lots Of Errors
References <iiflvc$keg$2@lust.ihug.co.nz> <iincqj$3tp$2@lust.ihug.co.nz>
Message-ID <I8idncO4-e3h2tLQnZ2dnUVZ_oidnZ2d@earthlink.com> (permalink)

Show all headers | View raw


On 2/6/2011 4:02 PM, Lawrence D'Oliveiro wrote:
> There are several constructs and terms that are used before they are
> defined, without any reference to where the definition may be found.
>
> For example, “strictfp” is first used in section 5.1.2, page 81, with no
> reference to where it is defined.
>
> The “<:” operator first occurs in section 4.5, page 51. There is no hint as
> to what it means until you get to page 55.
>
> Section 4, page 34:
>
>      Type arguments and type variables (§4.4) are not reified at run-time.
>
> But reification is not explained until section 4.7, page 56.
>
> Section 4.3.2, page 48:
>
>      The type of a method invocation e.getClass(), where the expression e has
>      the static type T, is Class<? extends |T|>.
>
> The |T| notation is not explained until section 4.6, page 56, where it turns
> out it denotes erasure.
>
> Section 6.3.1, page 119: “type-import-on-demand” and “static-import-on-
> demand” are not defined yet. No hint is given until page 127 that “static-
> import-on-demand” is defined in §7.5.4. Similarly no reference for “type-
> import-on-demand” is given until page 130, where it seems it comes from
> §7.5.2.
>
> It should be the job of an editor to catch this sort of thing.

This raises an interesting issue. If one assumes sequential reading,
each term absolutely must be defined no later than its first use,
because it will not be possible to jump to a later definition.

In practice, I don't think I have ever read a language specification the
way one reads a novel, beginning at the first page and continuing
sequentially to the end. Instead, I tend to jump in to a section that
seems relevant to some issue, and look for definitions of terms I don't
understand without assuming the definition will be earlier rather than
later.

I'm reasonably familiar with the JLS, but had simply not noticed that
sometimes the definition is after the first use. I've always been able
to find definitions when I've needed them.

Have other people been inconvenienced by definitions after the first use?

Patricia

Back to comp.lang.java.programmer | Previous | NextNext in thread | Find similar


Thread

Re: JLS 3/e -- Lots Of Errors Patricia Shanahan <pats@acm.org> - 2011-02-06 17:14 -0800
  Re: JLS 3/e -- Lots Of Errors Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-02-07 14:17 +1300
    Re: JLS 3/e -- Lots Of Errors Arne Vajhøj <arne@vajhoej.dk> - 2011-02-06 20:56 -0500

csiph-web