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


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

JSR 401

From Eric Sosman <esosman@comcast-dot-net.invalid>
Newsgroups comp.lang.java.programmer
Subject JSR 401
Date 2021-04-01 08:13 -0400
Organization A noiseless patient Spider
Message-ID <s44dd0$vcg$1@dont-email.me> (permalink)

Show all headers | View raw


Has anyone else studied the working drafts of the forthcoming JSR 401?
It's an attempt to unify "primitives" and "objects" in a future Java,
making it possible to have a List<int> instead of List<Integer>, or a
Map<short,double> instead of Map<Short,Double>, and so on. It would
also allow arrays of generic types, like JList<String>[], relieving an
irritation that's nagged us since the dawn of generics.

But there's a drawback: Although arrays of objects (even of generic
types) will work, arrays of primitives would no longer be possible!
That is, you could no longer create or use an int[], but would need
to use something like an ArrayList<int> instead. I'm not intimate
with the inner workings of the JVM and I fail to understand some of
the problems the working papers describe, but it has something to do
with the fact that an array knows the type of its elements and a
primitive doesn't actually have a "type" in the sense of belonging to
a class hierarchy.

Unless I've misunderstood (I *hope* I've misunderstood!), this is both
surprising and dismaying. "Surprising" because the principal author of
this section of the JSR is Pola Flori, who's worked on earlier JSR's
that were scrupulous about maintaining backwards compatibility. Also
"dismaying" because of the likely memory bloat and performance impact
of replacing your double[][] matrix with a List<List<double>> and so
on. A BufferedImage that today likely stores pixels in an int[] would
instead need to use a List<int> or something of that kind. I can't
imagine that this would be a Good Thing ...

But as I say, I may have misunderstood. I hope someone more familiar
with JVM internals and more adept at decoding JSL-style language will
study the proposed JSR and tell me I'm completely wrong. It's a work
in progress rather than an official JSR, so you'll find it hosted at

https://enterrasolutions.com/wp-content/uploads/2019/04/000156-0021-000078_2.png

-- 
esosman@comcast-dot-net.invalid
"Don't be afraid of work. Make work afraid of you." -- TLM

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


Thread

JSR 401 Eric Sosman <esosman@comcast-dot-net.invalid> - 2021-04-01 08:13 -0400
  Re: JSR 401 Mostowski Collapse <janburse@fastmail.fm> - 2021-04-01 16:44 +0200
  Re: JSR 401 "e.d.pro...@gmail.com" <e.d.programmer@gmail.com> - 2021-04-01 08:31 -0700
    Re: JSR 401 Arne Vajhøj <arne@vajhoej.dk> - 2021-04-01 18:52 -0400
      Re: JSR 401 "e.d.pro...@gmail.com" <e.d.programmer@gmail.com> - 2021-04-01 19:58 -0700
  Re: JSR 401 Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2021-04-02 15:36 +0200

csiph-web